我试图写入node.js中的文本文件。 我这样做的方式如下:
fs.writeFile("persistence\\announce.txt", string, function (err) {
if (err) {
return console.log("Error writing file: " + err);
}
});
而string是一个变量。
此函数将始终在文件的开头写入,因此它将覆盖以前的内容。
我遇到以下问题:
旧内容:
Hello Stackoverflow
新写:
Hi Stackoverflow
现在,以下内容将出现在文件中:
Hi stackoverflowlow
新写入比之前的内容更短,因此部分旧内容仍然存在。
我的问题:
我需要做什么,以便在新写入之前完全删除文件的旧内容?
答案 0 :(得分:12)
您可以先尝试截断文件:
arr1.h
答案 1 :(得分:1)
重命名旧文件,然后追加一个不存在的文件(创建一个新文件)。这样,您一方面可以备份,另一方面可以获得新的更新文件./config.json
:
fs.renameSync('./config.json', './config.json.bak')
fs.appendFileSync('./config.json', text)
(同步版,可能会抛出)