Aus Datei String auslesen und vergleichen
-
Hallo,
ich habe ein blödes problem !import java.io.*; public class test { public static void main(String[] args) { String s = "hallo"; if (s=="hallo") { System.out.println("Erfolg!"); //Funktioniert } ////////////////////////////////////////////////// try{ FileWriter fw = new FileWriter("test.txt"); //Erstelle test.txt datei fw.write(s); //schreibe den String s hinein fw.close(); //schließe... } catch(IOException e){ System.out.println("Fehler beim erstellen der Datei"); } try{ BufferedReader br = new BufferedReader(new FileReader("test.txt")); //Reader öffnet Datei zum Lesen if (br.readLine()=="hallo"){ //Reader ließt die erste zeile zwar richtig aus, aber der vergleich stimmt nicht also: System.out.println("Erfolg"); // Funktioniert nicht } else{ System.out.println("Misserfolg"); // Funktioniert (leider) } } catch(IOException e){ System.out.println("Fehler beim öffnen der Datei"); } } }
Weiß jemand Rat
-
Hallo,
dein Post beinhaltet genau zwei Probleme:
a) Dein Post beinhaltet keine Frage. Insoweit kann dir hier keiner helfen ohne dein Listing mal kompilieren und laufen zu lassen ==> schlechte Chancen, dass dir einer hilft. Lies dir doch mal "Asking Smart Questions" durch.
b) Stringvergleiche macht man nicht mittels == sondern über die Methode equals(...) aus java.lang.String
-
Oh ja entschuldigung, ich hab vergessen zu fragen wie ich Stringvergleiche machen kann
Aber du hast meine "Frage" trotzdem beantwortet, Danke
Funktioniert Super
-
BTW: Ich hoffe, du machst aus dem
if (br.readLine() == "hallo")
kein
if (br.readLine().equals("hallo")).
Das ist schlecht, weil readLine null zurückliefern kann. Du würdest dann eine NullPointerException kriegen. Besser ist
if ("hallo".equals(br.readLine()).
...oder eine vorherige Prüfung auf null o.ä.!
-
Danke für den Hinweis