写入文本文件而不覆盖fs节点js

时间:2013-06-26 15:51:28

标签: javascript node.js

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

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

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

任何建议和谢谢。

2 个答案:

答案 0 :(得分:16)

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

  

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

您应该使用a代替:

  

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

     

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

     

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

     

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

答案 1 :(得分:5)

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

fs.appendFile("file.txt", 'Text',function(err){
if(err) throw err;
console.log('IS WRITTEN')
});