it-swarm-pt.tech

Como gravar dados com FileOutputStream sem perder dados antigos?

Se você trabalha com os métodos FileOutputStream, cada vez que você escreve seu arquivo através destes métodos você perdeu seus dados antigos. É possível gravar o arquivo sem perder seus dados antigos via FileOutputStream?

77
iSun

Use o construtor que leva um File e um boolean

FileOutputStream(File file, boolean append) 

e defina o booleano como true. Dessa forma, os dados que você escreve serão anexados ao final do arquivo, em vez de sobrescrever o que já estava lá.

136
Mat

Use o construtor para anexar material ao arquivo:

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

Então, para acrescentar a um arquivo, diga "abc.txt"

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