![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 | ||
|
Gast
Beiträge: n/a
|
Hey Leudels,
ich will eine Textdatei einlesen, die folgendermaßen aussieht: Zitat:
Zitat:
die Spalten sind sauber durch Tab getrennt, dass weiß ich sicher, aber ich verstehe nicht, wieso er immer nur eine Hälfte der Datensätze einliest?? das if (anzahl>=5) dient dazu, nur die Datensätze einzulesen, die aus 5 Spalten bestehen, also vollständig sind. Ich hoffe mir kann jemand helfen - THX schonmal vorweg.. Stefan |
||
|
|
|
Nach oben #2 |
|
Benutzer
Registriert seit: 15.11.2005
Beiträge: 75
|
Hier dürfte jede zweite Zeile verloren gehen: Du liest in jedem Schleifendurchlauf zwei Zeilen (einmal in der while-Bedingung und dann im Schleifenkörper). Ausgewertet wird aber nur die Zeile, die im Schleifenkörper gelesen wurde.
Abhilfe: Code:
while (true) { //--- kein buf.readLine() hier, denn damit wird ja bereits eine Zeile gelesen und nicht ausgewertet
String zeile = buf.readLine();
if ( zeile == null) break;
//...
}
ist die Umstellung doch ziemlich einfach. |
|
|
|
|
|
Nach oben #3 |
|
Gast
Beiträge: n/a
|
WoW!
Danke Murray - das war genau der Fehler und ich muss zugeben ich wäre da nie selbst draufgekommen - dachte in der while liest er das nicht extra aus, sondern prüft nur kurz ob das wahr ist... Naja, wieder ein Quäntchen schlauer - lol. Danke nochmal, aber noch eine kurze Frage: dasd mit dem break, geht das nicht nur in ner switch? |
|
|
|
Nach oben #4 |
|
Benutzer
Registriert seit: 15.11.2005
Beiträge: 75
|
Nein, break geht auch in Schleifen. Man benutzt es - ähnlich wie continue - um vom "normalen" linearen Ablauf der Schleife abzuweichen.
Bsp: Code:
for ( int i=0; i<3; i++) {
System.out.println( "#"+i);
if ( i == 1) break; //--- Schleifenkörper verlassen und Schleife beenden
System.out.println( "Es geht weiter");
}
System.out.println( "Das war's");
#0 es geht weiter #1 Das war's Code:
for ( int i=0; i<3; i++) {
System.out.println( "#"+i);
if ( i == 1) continue; //--- Schleifenkörper verlassen und Schleife fortsetzen
System.out.println( "Es geht weiter");
}
System.out.println( "Das war's");
#0 es geht weiter #1 #2 es geht weiter Das war's |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Gästebuch auf Textdatei basierend | Jann Hendrik | Tutorials | 4 | 11.01.2006 07:50 |
| [PHP] Wie kann ich eine Textdatei erstellen und mit Inhalt füllen? | Ben | Tutorials | 2 | 06.09.2005 11:17 |
| Datei einlesen. | cyberdevil87 | Allgemeine Java-Programmierung | 3 | 27.06.2005 09:22 |
| Datei einlesen | XmX | Desktop-Applikationen und Grafik | 7 | 11.05.2005 21:17 |
| Textdatei Zeilenanzahl? | MacGyver | Allgemeine Java-Programmierung | 13 | 12.02.2005 12:39 |