# Bestimmte Zeilenlänge in String eintragen



## celloman (20. Mai 2009)

Hallo,

Ich habe ein java code, mit dem ich eine Datei auslesen kann.
Wie mann weiss wird jede Datei Zeilenweise ausgelesen.
Ich möchte nur bestimmte Zeilenlänge auslesen un in einen String schhreiben.

Kann mir da jemand helfen. oder ein Tipp geben.

Danke


----------



## MiMi (20. Mai 2009)

Warum liest du net einfach Zeile per Zeile ein, und wenn es eine bestimtme Laenge hat, wird es weiterverwendet sonst gehts zur naechsten Zeile. 
Weil ich denke, ohne das das Programm die Zeile eingelesen hat, kann es ja nicht wissen wie lang die Zeile ist


----------



## hammet (20. Mai 2009)

Aus deiner Beschriebung lässt sich nicht wirklich interpretieren, was genau du willst.

Also wenn du das meinst, was MiMi schrieb, solltest du das so tun.

Wenn du von einer Zeile nur eine gewisse Anzahl von Zeichen haben möchtest, solltest du die Methode "substring" von der Klasse String benutzen.


----------



## vfl_freak (20. Mai 2009)

Moin,

wenn ich Dich richtig verstanden habe, sucht Du diese Methode:


```
String substring( int start, int end)
```

Gruß
Klaus


----------



## Tim Bureck (20. Mai 2009)

Ich hätte es jetzt spontan so wie MiMi verstanden, also Zeile einlesen und dann sowas wie:


```
if (str.length() == 30) {
    ....
}
```


----------



## celloman (20. Mai 2009)

Text:


4G8_800_415____0210_A01_0001_L       2314,10   -850,26  208,00                                     not_def                                          L 

4G8_800_415____0210_A01_0001_L       2314,10   -850,26   208,00                                     not_def                                          L 

4G8_800_415____0210_A01_0001_L       2314,10   -850,26   208,00                                     not_def                                          L 



```
String zeile="";
String teiltext ="";

while( (zeile = b.readLine()) != null ) {                // liest zeilenweise aus Datei

teiltext = zeile.substring(1, 5);

}
```


Ich möchte den Text  jede Zeile bis 
4G8_800_415____0210_A01_0001_L       2314,10   -850,26   208,00

auslesen und in String teiltext eintragen.

Ich bekomme jedesmal die eine fehlermeldung.


----------



## Tim Bureck (20. Mai 2009)

Den Teilstring bekommst du mit:


```
teiltext = zeile.substring(0, 54);
```

(wenn ich mich nicht verzählt habe ).. ansonsten bleibt mir die Frage was für eine Fehlermeldung meinst!? Sollte das eine Anspielung auf deine Strings sein: Sind die nicht alle gleich (oder hab ich Tomaten auf den Augen?)


----------



## hammet (20. Mai 2009)

```
String zeile="";
String teiltext ="";

while( (zeile = b.readLine()) != null ) {                // liest zeilenweise aus Datei

if(zeile.length  > 5) {
teiltext = zeile.substring(1, 5);
}

}
```

oder alternativ bei immer gleichbleibendem Muster:


```
String zeile="";
String teiltext ="";

while( (zeile = b.readLine()) != null ) {                // liest zeilenweise aus Datei

teiltext = zeile.replace("not_def L","");
}
```

Zudem wäre es auch hilfreich zu wissen, welche sagenumwogende Fehlermeldung du bekommst


----------



## MiMi (20. Mai 2009)

OH man.


> ch möchte nur bestimmte Zeilenlänge auslesen un in einen String schhreiben.


Heisst fuer mich, das du nur die Zeilen auslesen moechtest mit ner bestimmten laenge. Net das du aus jeder Zeile nen bestimmten Teil haben moechtest. 

Also das naechste ma besser ausdruecken und dein Problem genau verstaendlich machen. Das gleiche gilt fuer die Fehlermeldung. " DIE EINE" 
Wir haben keine kleine Glaskugel wo wir sehen koennen was du meinst


----------



## celloman (20. Mai 2009)

DANKE es hat geklappt,

Habe hammet sein Beispiel verwendet esklappt.

Danke


----------

