在Node.js

时间:2016-02-03 13:50:24

标签: javascript node.js

我试图写入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

新写入比之前的内容更短,因此部分旧内容仍然存在。

我的问题:

我需要做什么,以便在新写入之前完全删除文件的旧内容?

2 个答案:

答案 0 :(得分:12)

您可以先尝试截断文件:

arr1.h

答案 1 :(得分:1)

重命名旧文件,然后追加一个不存在的文件(创建一个新文件)。这样,您一方面可以备份,另一方面可以获得新的更新文件./config.json

fs.renameSync('./config.json', './config.json.bak')
fs.appendFileSync('./config.json', text)

(同步版,可能会抛出)