2013-02-14 10 views
5

Sto usando il segmento di codice seguente per scrivere del testo alla fine del file per ogni volta che viene chiamato. Ma sta cancellando i vecchi dati e poi scrive i nuovi dati all'inizio del file. Come posso correggere il codice qui sotto in modo che sia possibile aggiungere nuovi dati alla fine del file sempre?aggiungi testo alla fine del file

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

Hai guardato http://stackoverflow.com/questions/1625234/how-to-append-text-to- an-existing-file-in-java – Wizche

risposta

14

tenta di impostare accodare boolean valore su true in FileOutputStream:

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

errore: 'il costruttore OutputStreamWriter (FileOutputStream, booleano) non è definito' – mavzey

+4

guarda me rispondi, secondo parametro di' FileOutputStream' non 'OutputStreamWriter'. – Sajmon

Problemi correlati