在Java中截斷文件的最佳實踐方式是什麼?例如這個虛擬函數,只是作爲一個例子來闡明的意圖:因爲文件被用作佔位Java中的文件截斷操作
void readAndTruncate(File f, List<String> lines)
throws FileNotFoundException {
for (Scanner s = new Scanner(f); s.hasNextLine(); lines.add(s.nextLine())) {}
// truncate f here! how?
}
的文件無法刪除。
我最終做了簡單的'try {new FileOutputStream(f).getChannel()。truncate(0).close(); } catch(IOException e){/ * log and ignore * /}'。問題:如果使用append == true打開文件,它是否重要? – hyde
然後只是'新的FileWriter(f).close()'。 –
如果你打開時沒有追加=='true',那麼文件立即被截斷(你想要)。 –