web-dev-qa-db-fra.com

Comment écrire des données avec FileOutputStream sans perdre les anciennes données?

Si vous travaillez avec les méthodes FileOutputStream, vous perdez vos anciennes données à chaque fois que vous écrivez votre fichier. Est-il possible d'écrire un fichier sans perdre vos anciennes données via FileOutputStream?

80
iSun

Utilisez le constructeur qui prend un File et un boolean

FileOutputStream(File file, boolean append) 

et réglez le booléen sur true. De cette façon, les données que vous écrivez seront ajoutées à la fin du fichier, plutôt que d’écraser ce qui était déjà.

139
Mat

Utilisez le constructeur pour ajouter du matériel au fichier:

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

Donc, pour ajouter à un fichier, dites "abc.txt", utilisez

FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true);
19
o_o