Hallo,
Ich habe ein kleines Funktionalitätsproblem.
Ich habe eine .txt-Datei, in der zeilenweise "true" oder "false" steht.
Nun möchte ich in einer Methode diese Zeilen auslesen. Wenn in Zeile x "true" steht soll xy gemacht werden. Wenn dort "false" steht etwas anderes.
Hier meine Herangehensweise:
Code:
for(int i = 0; i < number; ++i) //Zeilen bis hin zu der gewünschten werden ignoriert.
br.readLine();
String lineIWant = br.readLine(); //Ausgabe der Zeile, die gewünscht ist!
br.close();
// In .txt-Datei steht ob Zahl =prim oder nicht. Falls ja, dann gib true zurück. Andernfalls false!!!
lineIWant = lineIWant.replace("\n", ""); //Befürchtung: Zeilenumbruch ist das Problem!
setReturn(lineIWant);
Die Methode "setReturn" überprüft die Zeile nun auf den Inhalt.
Code:
public void setReturn(String line)
{
if (line == "true")
{
returnvar = true;
}
else
{
returnvar = false;
}
}
Mein Bedenken ist, dass ich so auch den Zeilenumbruch mitlese. Ich habe die.trim()-Methode probiert oder wie oben die replace()-Methode.
Auch if (line == "true\n") funktioniert nicht wie gewünscht.
Es wird immer "false" returned.
Aufbau der Text-Datei (Beispiel):
Code:
false
true
true
false
true
false
true
false
false
false
true
false
true
false
false
false
true
false
true
Wie kann ich das Problem lösen. Oder gibt es einfachere Wege dies zu lösen?
Ich habe der Übersicht halber den restlichen Code weggelassen. Ich weiß, dass das Problem bei der Überprüfung per if-Schleife liegt.
Got it!
Code:
public void setReturn(String line)
{
Boolean boolean1 = Boolean.valueOf(line);
if (boolean1)
{
returnvar = true;
}
else
{
returnvar = false;
}
}