Hallo Leute,
als blutiger Anfänger kann ich folgendes nicht nachvollziehen:
Also, die vielen - testhalber eingefügten - System.out.println(leser.readLine()); s werden nicht angezeigt. Die Konsolenausgabe beginnt direkt bei der while-Schleife. Ich hätte ein reihenweises Abarbeiten erwartet.
Ausgabe ist:
1. zeile
2. zeile
3. zeile
4. zeile
5. zeile
statt meiner erwarteten Ausgabe:
1. zeile
1. zeile
1. zeile
1. zeile
2. zeile
3. zeile
4. zeile
5. zeile
Weiteres Problem:
Bei while ((zeile = leser.readLine()) != null) {..} erkennt er, dass leser.readLine() nicht null ist, also geht er in die Schleife rein. Aber wenn ich
while (leser.readLine() ! null) {...} mache, geht die JVM nicht in die Schleife rein. Da glaubt er, das der Rückgabewert null ist.
Was ist denn hier der unterschied?
Vielen Dank schonmal
als blutiger Anfänger kann ich folgendes nicht nachvollziehen:
Code:
public void actionPerformed (ActionEvent e) {
File datei = new File("C:/Users/BigMemo/Documents/test.txt");
try {
BufferedReader leser = new BufferedReader(new FileReader(datei));
System.out.println(leser.readLine()); //wird übersprungen, also nicht angezeigt
System.out.println(leser.readLine()); //wird übersprungen, also nicht angezeigt
System.out.println(leser.readLine()); //wird übersprungen, also nicht angezeigt
String zeile;
while ((zeile = leser.readLine()) != null) {
System.out.println(zeile);
}
leser.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
Also, die vielen - testhalber eingefügten - System.out.println(leser.readLine()); s werden nicht angezeigt. Die Konsolenausgabe beginnt direkt bei der while-Schleife. Ich hätte ein reihenweises Abarbeiten erwartet.
Ausgabe ist:
1. zeile
2. zeile
3. zeile
4. zeile
5. zeile
statt meiner erwarteten Ausgabe:
1. zeile
1. zeile
1. zeile
1. zeile
2. zeile
3. zeile
4. zeile
5. zeile
Weiteres Problem:
Bei while ((zeile = leser.readLine()) != null) {..} erkennt er, dass leser.readLine() nicht null ist, also geht er in die Schleife rein. Aber wenn ich
while (leser.readLine() ! null) {...} mache, geht die JVM nicht in die Schleife rein. Da glaubt er, das der Rückgabewert null ist.
Was ist denn hier der unterschied?
Vielen Dank schonmal