Come scrivere dati con FileOutputStream senza perdere i vecchi dati?


86

Se lavori con FileOutputStreammetodi, 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?


1
Se ti stai chiedendo come avresti potuto risolverlo da solo, avresti potuto leggere Javadoc. docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
Peter Lawrey

[OutputStreamWriter viene usato al posto di FileOutputStream] [1] [1]: stackoverflow.com/questions/23320070/...
Sourabh

1
@PeterLawrey per imparare da soli, di solito si chiede semplicemente a Internet. E SO è il 1 ° risultato prima del java doc :-)
Juh_

Risposte:


151

Usa il costruttore che accetta a Filee aboolean

FileOutputStream(File file, boolean append) 

e imposta il valore booleano su true. In questo modo, i dati che scrivi verranno aggiunti alla fine del file, anziché sovrascrivere ciò che era già presente.


20

Usa il costruttore per aggiungere 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 dire "abc.txt" use

FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.