Jak zapisywać dane za pomocą FileOutputStream bez utraty starych danych?


86

Jeśli pracujesz z FileOutputStreammetodami, za każdym razem, gdy piszesz plik za pomocą tych metod, tracisz stare dane. Czy można zapisać plik bez utraty starych danych przez FileOutputStream?


1
Jeśli zastanawiasz się, jak mogłeś sobie z tym poradzić, mogłeś przeczytać Javadoc. docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
Peter Lawrey

[OutputStreamWriter jest używany zamiast FileOutputStream] [1] [1]: stackoverflow.com/questions/23320070/ ...
sourabh

1
@PeterLawrey, aby uczyć się samodzielnie, zwykle wystarczy zapytać o internet. A tak to pierwszy wynik przed dokumentem java :-)
Juh_

Odpowiedzi:


150

Użyj konstruktora, który przyjmuje a Filei aboolean

FileOutputStream(File file, boolean append) 

i ustaw wartość logiczną na true. W ten sposób zapisane dane zostaną dołączone na końcu pliku, zamiast nadpisywać to, co już tam było.


20

Użyj konstruktora do dołączenia materiału do pliku:

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

Aby dołączyć do pliku, powiedz „abc.txt” użyj

FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.