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

Fox*_*Fox 16 javascript node.js

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

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

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

任何建议和谢谢.

Pri*_*ner 17

检查这里的标志:http://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback - 您当前正在使用w+哪个:

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

您应该使用a:

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

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

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

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

  • 谢谢你的回答,我找到了一个解决方案,我使用这个代码:`fs.appendFileSync("file.txt", 'My Text \n', "UTF-8",{'flags': 'a+'}) ;` (2认同)

小智 5

使用fs.appendFile,它将仅附加新信息!

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