Java BufferedReader?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Bei Strings sollte man besser die equals Methode nutzen also in deinem Fall:
!br.readLine().equals(name)

Merke: Wenn du zwei Objekte vergleichen möchtest, nutze equals. Wenn du allerdings schauen möchtest ob es das selbe Objekt ist, dann ==.

0

Eigentlich beantwortet dir TUrabbITs Antwort deine Frage.

Dennoch ist mir etwas aufgefallen, was es bei dir zu berücksichtigen gäbe:

while(br.readLine() != null){
if(br.readLine() == nameOfLernset){
return true;
}
}

readLine()  Liest eine Zeile und springt dann zur nächsten. Führst du die Methode zweimal aus, prüfst du immer

jede zweite

Zeile in deiner Eingabe.

Entsprechend wäre es Ratsam, die Ausgabe von readLine() in eine Variable zu speichern und nicht mehrfach aufrufen. z.B.:

String line;

while ((line = br.readLine()) != null) {
    if (line.equals(nameOfLernset) {
       return true;
    }
}

Hierdurch verhinderst du auch eine mögliche NullpointeEexception, welche auftreten könnte wenn deine Eingabe z.B. nur eine Zeile oder eine ungerade Zeilenlänge hat und deine Bedingung vorher nicht zutrifft.

schreib mal zu:

if(in = new FileReader("C://test.txt") == NULL) {
Debugger.log("Datei existiert nicht");
} 

Wenn die Datei nicht existiert, hast du wohl einen logischen Fehler.

Nein die Datei Existiert denn das wird beim Programmstart wo anders im Programm geprüft.

0

Was möchtest Du wissen?