Problem bei der zeilenweise Speicherung eines Arrays

  • Problem bei der zeilenweise Speicherung eines Arrays

    Guten Tag lieber Forenmember,



    ich arbeite für die Schule an einem Datenbankprogramm und will nun ein Array in einer Datei speichern. Mein Problem ist, dass nach der ersten Zeile eine IOException auftritt und die restlichen Zeilen nicht mehr gespeichert werden.

    Java-Quellcode

    1. public static void speichern()
    2. {
    3. Writer f;
    4. BufferedWriter b;
    5. String s;
    6. try
    7. {
    8. f = new FileWriter("namensliste2.txt");
    9. b = new BufferedWriter(f);
    10. for(int i = 0; i < zeilenanzahl; i++)
    11. {
    12. if(items[i][0] != null) // ist ein Vorname vorhanden?
    13. {
    14. s = items[i][0]+ ';' + items[i][1] + ';' + items[i][2] + ';' + items[i][3] + ';' + items[i][4] + ';';
    15. b.write(s);
    16. b.newLine();
    17. }
    18. b.close();
    19. f.close();
    20. }
    21. }
    22. catch(IOException e)
    23. {
    24. System.out.println("Fehler beim Erstellen der Datei.");
    25. }
    26. }
    Alles anzeigen
    Ich hoffe ihr findet den Fehler.
  • Okay, also laut Stacktrace wird der Stream zu früh geschlossen. Das liegt wohl daran, dass du

    Java-Quellcode

    1. b.close();
    bzw

    Java-Quellcode

    1. f.close();
    innerhalb der schleife verwendest. Also kann nur der erste satz verarbeitet werden weil danach sofort der stream geschlossen wird.

    Setzt das mal hinter die schliessende klammer der schleife und schau obs dann funktioniert.

    Mfg.