2012-11-25 101 views
1

在Java中,如何從二進制文件中刪除內容?我是否需要將除去已刪除部分的所有內容複製到臨時文件中,並將其重命名爲現有文件?從二進制文件中刪除

+0

爲什麼你認爲如果你從二進制文件中刪除內容,你會不會損壞它? – Cratylus

回答

3

無法直接在磁盤上刪除文件內容。您需要將不包括要刪除部分的文件內容複製到臨時文件。現在刪除原始文件並重命名臨時文件。

0

如果格式不匹配,你可以用0覆蓋,否則你將不得不創建一個新文件並替換原來的文件。這對任何語言都是一樣的

+0

用零覆蓋與刪除不同。 –

+0

這一切都取決於偏執/如何確定你需要的數據已經消失。 用0覆蓋文件的一部分可能比從其他方法中刪除數據的機會更大,因爲它只會更新磁盤上的扇區。 創建新文件並替換原始文件可能會使磁盤上的原始文件內容保持不變並且文件名稱指向新版本。 – hardillb

+0

您總是需要創建一個包含舊數據的新文件,減去「已刪除」部分。不管你是否將以前的文件內容歸零是另一回事。你的回答目前不解釋。 –