mehrzeilige .txt einlesen/formatieren

trash

Mitglied
Hallo ihr Lieben,

ich möchte in einer Textdatei bestimmte Informationen speichern und diese dann Zweilenweise einlesen und je nach Startpunkt formatieren.

Bsp:

#1_Vorname
#2_Nachname
#3_Hier soll ein Zeilenumbruch interpretiert werden.
#1_Der nächste Vorname
etc.

Ausgabe soll dann z.B in einer Liste sein

Bisher habe ich folgenden Code:

Java:
public void wichtig_einlesen()
    {
        try {
        BufferedReader in = new BufferedReader(new FileReader("wichtig.txt"));
        String zeile = null;
        while ((zeile = in.readLine()) != null) {
           // System.out.println(zeile);
           
           lwichtig.setText("Wichtig: "+zeile);          
              
        }
      
        
        
    } catch (IOException e) {
        e.printStackTrace();
    }
        
    }

Problem: Er liest mit den Inhalt nur in der ersten Zeile ein, dann bricht er ab. Hat jemand eine Idee wie ich das mit dem Interpreter hinkriege? Vielleicht während meiner while Schleife eine Prozedur, die die Zeile Symbol für Symbol außeinander nimmt und guckt ob am Anfang ein # ist und welche Zahl dann folgt?
 
Zuletzt bearbeitet:
Java:
       // hier ist die änderung:
       while (zeile = in.readLine() != null) {
       // alte zeile:
//    while ((zeile = in.readLine()) != null) {
           // System.out.println(zeile);
           
           lwichtig.setText("Wichtig: "+zeile);          
              
        }
So hat es bei mir immer geklappt. Mit welchem Programms schreibst du den in die Datei?
 
Java:
       // hier ist die änderung:
       while (zeile = in.readLine() != null) {
       // alte zeile:
//    while ((zeile = in.readLine()) != null) {
           // System.out.println(zeile);
           
           lwichtig.setText("Wichtig: "+zeile);          
              
        }

Wenn ich das ändere, zeigt er mir an: find incompatible types - found boolean but expected java.lang.string

Liegt der Fehler vielleicht nicht daran, dass ich vergessen habe zu programmieren, dass er mir in die nächste Zeile springt?
 
Es fehlt eine Klammer...
Java:
while ((zeile = in.readLine()) != null) {
 
Das liegt daran, dass du mit setText immer wieder den vorherigen Text überschreibst.
Also siehst du auch nur die letzte Zeile
 
Sorry, mein fehler. Hier :
Java:
// ungetestet, sollte jedoch fubktionieren
Public String[] readfile (filename) throws java.io.FileNotFoundException {
    BufferedReader stream=new BufferedReader(new File(filename));
    ArrayList<String> ar = new ArrayList<String>();
    String x=stream.readLine();
    While (x != null) {
        ar.add(x);
        x=stream.readLine();
    }
    return ar.toArray();
}
Edit: das kommt davon wenn mab mehr php als java programmiert 😉 solche feinheiten gehen mir echt aufn zeiger xD
 
Zuletzt bearbeitet:

Zurück
Oben