2017-03-16 9 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); 
}); 

をしかし、私は、ファイルに書かれた行を1つだけ見ています。 どのように私は10行のforループで書くことができますか?

ありがとうございます。

+3

[ノード内のファイルに追加する方法は?](http://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node) –

+0

@JorgeFuentesGonzálezitそれでも行全体に書いてください – OiRc

+1

次に問題を改行します。私の答えをチェックしてください。 –

答えて

2

役立つと思う:あなたは複数のfilewritesをやって、それを追加したい場合は

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

を理由理由のために、改行文字も必要です。

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:ここでのキーは改行文字です。

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