2017-01-05 7 views
0

では、既存のファイルを書き換えるとファイル(.txt、.serなど)が上書きされますか?私はこれが好きならば

FileOutputStream fos=new FileOutputStream("cse.txt"); 
ObjectOutputStream oos=new ObjectOutputStream(fos); 
oos.writeObject(Dictionary); 

と私は

FileOutputStream fos=new FileOutputStream("cse.txt"); 
ObjectOutputStream oos=new ObjectOutputStream(fos); 
oos.writeObject(List); 

のように同じファイルの同じ種類辞書の別のオブジェクトを使用して同じファイルを書き込む場合は、再度そのファイルが上書きされ得るのだろうか?

+1

https://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html#FileOutputStream(java.io.File,%20boolean) – UnholySheep

答えて

2

あなたは、単に

FileOutputStream fos=new FileOutputStream("cse.txt"); 

を記述する場合、古いデータは失われ、新しいデータで上書きされます。

しかし、あなたが書く場合

FileOutputStream fos=new FileOutputStream("cse.txt", true); 

、古いデータがが失われることはありませんし、新しいデータが古いものに追加されます。このtrueは、バイトが最初ではなくファイルの最後に書き込まれることを示します。

See the documentation

関連する問題