2011-12-17 19 views
61

Se lavori con i metodi FileOutputStream, ogni volta che scrivi il tuo file con questi metodi hai perso i tuoi vecchi dati. È possibile scrivere file senza perdere i vecchi dati tramite FileOutputStream?Come scrivere dati con FileOutputStream senza perdere i vecchi dati?

+1

Se vi state chiedendo come si potrebbe avere funzionato questo per te stesso, potresti aver letto il Javadoc. http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html –

+0

[OutputStreamWriter viene usato al posto di FileOutputStream] [1] [1]: http://stackoverflow.com/questions/23320070/appending-a-string-to-an-existing-file-using-outputstreamwriter/23320195?noredirect=1#comment35707473_23320195 – sourabh

+1

@PeterLawrey per imparare da noi stessi, in genere è sufficiente chiedere a internet. E SO è il primo risultato prima di java doc :-) –

risposta

114

utilizzare il costruttore che prende un File e un boolean

FileOutputStream(File file, boolean append) 

e impostare il valore booleano a true. In questo modo, i dati che scrivi saranno aggiunti alla fine del file, piuttosto che sovrascrivere ciò che era già lì.

18

utilizzare il costruttore per l'aggiunta di materiale al file:

FileOutputStream(File file, boolean append) 
Creates a file output stream to write to the file represented by the specified File object. 

Quindi, per aggiungere a un file di dire "abc.txt" usa

FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true); 
Problemi correlati