JAVA FileOutputStream寫檔案覆蓋問題
阿新 • • 發佈:2019-02-06
今天向檔案裡寫資料的時候發現每次寫入新的資料,之前被寫入的資料都會被覆蓋掉。
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);
之前寫的資料就不會被覆蓋了。