1. 程式人生 > >JAVA FileOutputStream寫檔案覆蓋問題

JAVA FileOutputStream寫檔案覆蓋問題

今天向檔案裡寫資料的時候發現每次寫入新的資料,之前被寫入的資料都會被覆蓋掉。

class Test{
	public static void main(String[] args) throws Exception 
	{
		File dir = new File("d:\\ttttt");
		dir.mkdirs();
		File file = new File("d:\\ttttt\\tt.txt");
		FileOutputStream fos = new FileOutputStream(file);
		fos.write("haha".getBytes());
	}
}

於是百度了一下。
		FileOutputStream fos = new FileOutputStream(file);

發現是這句出了問題, 在引數file後面還有一個可選引數append,

當append為true時,從檔案末尾寫入資料。

當append為false時,從檔案頭部寫入,就是覆蓋,預設為false。

於是我改成了FileOutputStream fos = new FileOutputStream(file,true);

之前寫的資料就不會被覆蓋了。