2013-06-28 57 views
18

我想用node.js刪除簡單文本文件的內容。 或用新/空文件替換文件。Node.js /刪除文件中的內容

如何在節點中實現這一點?

+3

你看過這裏嗎? http://nodejs.org/api/fs.html – Dan455

+3

downvoted缺乏研究 –

+1

這不是fs.writeFile的默認行爲,如果你不提供標誌?實際上很難追加到一個文件... – ChrisCM

回答

40

您正在尋找fs.truncatefs.writeFile

以下任一操作將工作:

var fs = require('fs') 
fs.truncate('/path/to/file', 0, function(){console.log('done')}) 

var fs = require('fs') 
fs.writeFile('/path/to/file', '', function(){console.log('done')}) 

還有的both functions,你不應該使用synchronous versions

+2

+1不刪除文件並寫入同一個文件! – ChrisCM

+0

您能否詳細說明爲什麼同步版本不合需要? – 2015-01-29 05:34:34

+1

當然!主要原因是節點是單線程的(大多數情況下),所以如果你做了昂貴的同步操作,你會阻止整個進程的執行。 – Andbdrew

0

是您需要刪除文件的調用。要用不同的內容替換它,請用fs.writeFile覆蓋它。

+2

從fs.writeFile的節點文檔:將數據異步寫入文件,如果文件已存在,則替換文件。您的取消鏈接步驟是不必要的。 – ChrisCM

+0

@ChrisCM我只是回答了這個問題的兩個部分。 –