使用node.js写入文件

问题描述:

我想知道是否可以在多行中写入文件。使用node.js写入文件

我写这个片段:

var fs = require('fs'); 

for(var i=1; i<10; i++){ 
    fs.writeFile('helloworld.txt', i, function (err) { 
    if (err) return console.log(err); 
}); 

但我只看到一个写在文件中一行。 我如何用for循环写10行?

在此先感谢。

+3

可能重复[如何附加到节点中的文件?](http://*.com/questions/3459476/how-to-append-to-a-file-in-node) –

+0

@JorgeFuentesGonzálezit仍然写在整行 – OiRc

+1

换行问题。检查我的答案。 –

如果要添加多条线路,则需要追加换行符:

var fs = require('fs'); 
var str = ""; 
for(var i=1; i<10; i++){ 
    str += i + "\r\n"; // Linefeed \r\n usually on Windows and \n only on Linux 
} 
// Only one filewrite, to optimize 
fs.writeFile('helloworld.txt', str, function (err) { 
    if (err) return console.log(err); 
}); 

如果你想将其追加做多filewrites因为的原因,你还需要换行字符。

var fs = require('fs'); 
for(var i=1; i<10; i++){ 
    fs.appendFile('helloworld.txt', i + "\r\n", function (err) { 
     if (err) return console.log(err); 
    }); 
} 

Protip:这里的关键字是换行符/ s。

Protip 2:保持您的缩进清洁。

我认为这将有助于你

var data= [{ link:"localhost",text:"hello world"}]; 
var stream = fs.createWriteStream(fileName); 
    stream.once('open', function() { 
     stream.write('Link, Text\n'); 
     data.forEach(function(row) {stream.write(row.link+','+row.text+'\n')}); 
     console.log("Please Check YourFile!") 
     stream.end(); 
    });