2017-03-16 103 views
0

我想知道是否可以在多行中寫入文件。使用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://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node) –

+0

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

+1

換行問題。檢查我的答案。 –

回答

2

如果要添加多條線路,則需要追加換行符:

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:保持您的縮進清潔。

1

我認爲這將有助於你

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(); 
    });