我知道像How to append to a file in Node?
这样的问题然而,那些不能满足我的需要。我所拥有的是一个文本文件,它在启动nodejs之前已经包含文本,然后我希望节点在我的文件末尾添加文本。
但是,使用上面链接的问题中的方法会覆盖我的文件内容。
我还发现我可以在start:number
的选项中使用fs.createWriteStream
,所以如果我想弄清楚我的旧文件结束的地方我可以用它来追加,但我怎么能算出来没有读出整个文件并计算其中的字符?
答案 0 :(得分:1)
我还发现文档令人困惑,因为它没有告诉你如何实际设置该命令(或者你可能需要在追加之前读入文件)。
这是一个完整的脚本。填写您的文件名并运行它,它应该工作!这是脚本背后逻辑的video tutorial。
var fs = require('fs');
function ReadAppend(file, appendFile){
fs.readFile(appendFile, function (err, data) {
if (err) throw err;
console.log('File was read');
fs.appendFile(file, data, function (err) {
if (err) throw err;
console.log('The "data to append" was appended to file!');
});
});
}
// edit this with your file names
file = 'name_of_main_file.csv';
appendFile = 'name_of_second_file_to_combine.csv';
ReadAppend(file, appendFile);
答案 1 :(得分:0)
使用a+
标志添加并创建文件(如果不存在)。
使用\r\n
作为换行符。
fs.writeFile('log.txt', 'Hello Node\r\n', { flag: "a+" }, (err) => {
if (err) throw err;
console.log('The file is created if not existing!!');
});