txt dateien einlesen und ausgeben



  • Will eine txt datei ausgeben.
    In der eingabeaufforderung seht auch der komplette text, aber nicht in meiner textArea, da sinds nur die 2 letzten zeilen
    Wo liegt mein Denkfehler?

    String currentItem = listeDrinks.getSelectedItem();

    try
    {
    //öffnen vom buffered reader mit einem file reader
    BufferedReader f = new BufferedReader( new FileReader( currentItem +".txt" ) );
    String line;
    //solange ein String vorhanden
    while( (line = f.readLine()) != null )
    {
    line +="\n";
    line += f.readLine();
    rezept.setText( line );
    System.out.println(line);
    }
    f.close();
    }



  • Du rufst in einer Iteration f.readLine mehrmals auf. Das überspringt natürlich dann eine Zeile ...



  • aha. danke
    wie kann ich das in der while-schleife am besten umschreiben, so dass alles eingelesen wird, was in der datei steht?



  • Vielleicht so:

    try { 
        //öffnen vom buffered reader mit einem file reader 
        BufferedReader f = new BufferedReader( new FileReader(currentItem+".txt" ) ); 
        String line; 
        StringBuffer buffer=new StringBuffer();
        //solange ein String vorhanden 
        while( (line = f.readLine()) != null ) { 
            buffer.append(line+"\n");
        } 
        rezept.setText( buffer.toString() ); 
        System.out.println(buffer.toString()); 
    
        f.close(); 
    } ...
    

Anmelden zum Antworten