2013-02-14 16 views
5

Ich benutze das folgende Code-Segment, um Text für jedes Mal, wenn es aufgerufen wird, an das Ende der Datei zu schreiben. Aber es löscht die alten Daten und schreibt dann die neuen Daten an den Anfang der Datei. Wie kann ich den folgenden Code beheben, so dass es neue Daten anhängen immer Ende der Datei?Text an das Ende der Datei anhängen

public boolean writeToFile(String directory, String filename, String data){ 
    File out; 
    OutputStreamWriter outStreamWriter = null; 
    FileOutputStream outStream = null; 

    out = new File(new File(directory), filename); 

    if (out.exists() == false){ 
       out.createNewFile(); 
    } 

    outStream = new FileOutputStream(out) ; 
    outStreamWriter = new OutputStreamWriter(outStream); 

    outStreamWriter.append(data); 
    outStreamWriter.flush(); 
    }   
+0

Haben Sie bei http://stackoverflow.com/questions/1625234/how-to-append-text-to- sah an-existing-file-in-java – Wizche

Antwort

14

Versuchen einstellen boolean Wert auf true in FileOutputStream anhängen:

outStream = new FileOutputStream(out, true); 
outStreamWriter = new OutputStreamWriter(outStream); 
+0

Fehler: 'der Konstruktor OutputStreamWriter (FileOutputStream, boolean) ist undefined' – mavzey

+4

schau mir Antwortmann, zweiten Parameter von' FileOutputStream' nicht 'OutputStreamWriter'. – Sajmon

Verwandte Themen