[英]Java overwriting an existing output file
我的程序目前正在使用
FileOutputStream output = new FileOutputStream("output", true);
如果尚未創建輸出文件,則while循環將創建輸出文件,並使用while循環的每次迭代將一些數據附加到此文件
output.write(data).
這很好,是我想要的。
如果我再次運行該程序,該文件的大小只會翻倍,因為它會將確切的信息附加到文件的末尾。 這不是我想要的。 如果我再次運行程序,我想覆蓋該文件。
此文檔表明您傳遞的參數是append
參數。
簽名如下所示
FileOutputStream(File file, boolean append)
您應該將該參數設置為false
因為您不想追加。
FileOutputStream output = new FileOutputStream("output", false);
如果我再次運行程序,我想覆蓋該文件。
將false
作為第二個參數傳遞,將append設置為false:
FileOutputStream output = new FileOutputStream("output", false);
查看構造函數文檔 :
如果第二個參數為true,則字節將寫入文件的末尾而不是開頭。
或者你可以刪除文件,如果它在那里,然后總是創建它並完成工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.