24

如何在文件中添加文本但不覆盖旧文本。我使用模块 fs (node js)

我试过这段代码,但它不起作用。

fs.writeFileSync("file.txt", 'Text', "UTF-8",{'flags': 'w+'});

任何建议,谢谢。

4

2 回答 2

29

在此处检查标志:http ://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback - 您当前使用w+的是:

'w+' - 打开文件进行读写。该文件被创建(如果它不存在)或被截断(如果它存在)。

您应该a改用:

'a' - 打开文件进行追加。如果文件不存在,则创建该文件。

'ax' - 与 'a' 类似,但以独占模式打开文件。

'a+' - 打开文件进行读取和附加。如果文件不存在,则创建该文件。

'ax+' - 与 'a+' 类似,但以独占模式打开文件。

于 2013-06-26T15:52:59.530 回答
9

使用 fs.appendFile,它只会追加新信息!

fs.appendFile("file.txt", 'Text',function(err){
if(err) throw err;
console.log('IS WRITTEN')
});
于 2015-08-29T03:19:54.373 回答