2016-04-02 15 views
0

Ich versuche, eine Speicherfunktion zu erstellen, die gespeicherte Daten in eine Textdatei ausgibt. Ich habe versucht, einen Printwriter zu verwenden, um in die Datei zu schreiben, und obwohl ich keine Fehler bekomme und die Ausgabe scheint korrekt zu sein, bleibt die Textdatei leer. Hier ist mein Code:PrintWriter nicht in Textdatei schreiben

public void saveConfiguration() throws IOException{ 
    PrintWriter pw = new PrintWriter("locos.txt"); 

    for (int i = 0; i < currentTrains.size(); i++) { 
     //confirm data is correct 
     System.out.println(currentTrains.get(i).getAddress() + " " + 
       currentTrains.get(i).getName() + " " + "\n"); 

     //write to file 
     pw.write(currentTrains.get(i).getAddress() + " " + 
       currentTrains.get(i).getName() + " " + "\n"); 
    } 

    pw.close(); 

    //for testing 
    System.out.println("File Saved"); 
} 

Hier ist, was auf der Konsole ist:

8 class 08 

55 Jinty 

44 BR44 

File Saved 

Die obigen Daten, die gedruckt wird aus ist richtig, aber es ist nicht in die Datei geschrieben zu werden. Kann mir jemand erklären, wie man das richtig macht?

Edit: Ich weiß nicht, ob das relevant ist, aber ich betreibe dies auf einem Tomcat-Server.

+0

was ** auf ** locos.text ausgedruckt wird immer oder ist es ein leere Datei? – Blip

+0

Nichts wird auf locos.txt gedruckt. Die Konsole Ausgabe (außer der letzten Zeile) ist, was gedruckt werden soll. – Cailean

+0

erstellt diese Methode eine leere locos.text-Datei? – Blip

Antwort

0

sollten Sie versuchen, die Printwriter und Filerwriter Handling statt ...

Beispiel:

PrintWriter pw = new PrintWriter(new FileWriter("locos.txt")); 
+0

Diese Art von half, aber die Datei endet an einem völlig falschen Ort (der Eclipse-Ordner statt des Projektordners) aus irgendeinem Grund. – Cailean

+0

Ja, da Ihnen kein Pfad zugewiesen wurde, wird die Datei im Klassenpfad erstellt .... –

Verwandte Themen