.readLine() erzeugt endlosschleife

Fishmsta

Mitglied
Tachschen,
bin noch relativ neu in java habe aber schon etwas erfahrung in html, php und css.

ich möchte ein javafile erstellen, welches mir die zeilen einer .txt datei ausgibt.
der code (höhö ich hab kot gesagt :lol🙂 lautet wie folgt:

Java:
int i1=0;
String STR1="eins";
while(STR1!=null){
FileReader FR1=new FileReader("pfad\datei.txt");
BufferedReader BUF1=new BufferedReader(FR1);
STR1=BUF1.readLine();
i1++;
System.out.println(i1);
}

ausgabe ist
1
2
3
...

wo liegt der fehler?
 
1. du gibst es nie aus was du einliest
2. du öffnest die datei jedes mal innerhalb der schleife neu, bei jedem durchlauf, also kommt er nie weiter als bis zu ersten zeile
also steht in STR! immer die erste zeile deiner textdatei
 
Nicht readLine() erzeugt die Endlosschleife, sondern Du hast die Schleife so programmiert.

In der while wird bei jedem Schleifendurchgang ein neuer Reader auf die Datei erzeugt ==> es wird bei jedem Schleifendurchgang die erste Zeile der Datei gelesen ==> STR1 wird niemals null

Variablennamen, schreibt ma in Java übrigens klein.
 
das ich die endlosschleife erzeuge war schon klar aber ne überschrift ala ich erzeuge eine endlosschleifes sagt ja mal garnichts aus

aber danke
jetzt funzt es
 

Neue Themen


Zurück
Oben