簡體   English   中英

Java覆蓋現有的輸出文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM