2015-06-09 29 views
0

我試圖通過線CSV文件行改爲每行添加到陣列中的JavaScript readstream行,到目前爲止我的代碼是:通過線

var csvFile = 'Domain.csv'; 
var fs = require('fs'); 
var readableStream = fs.createReadStream(csvFile); 
var data = ''; 

readableStream.on('data', function(chunk) { 
    var temp = ''; 
    temp = chunk; 
    global.qArray.push(temp); 
}); 

readableStream.on('end', function() { 
    console.log(global.qArray); 
}); 

此日誌:

[ <Buffer 22 54 79 70 65 20 28 53 74 72 69 6e 67 29 22 2c 22 44 6f 6d 61 69 6e 20 28 53 74 72 69 6e 67 29 22 2c 22 41 76 65 72 61 67 65 49 6d 70 72 65 73 73 69 ... > ]

到控制檯。我假設這意味着我的閱讀流不會逐行接收。任何人都可以告訴我如何改變它,因此它讀取每行單獨?

回答

1

應該更容易,如果你去容易...

var fs = require('fs'), 
readline = require('readline'); 

var rd = readline.createInterface({ 
input: fs.createReadStream('Domain.csv'), 
output: process.stdout, 
terminal: false 
}); 

rd.on('line', function(line) { 
    console.log(line); 
}); 
+0

你知道我怎麼可以這樣做rd.on(「端」,函數(),...});這裏?因爲這不適用於你的代碼。 @shane_yo – user2412643

+0

'rd.on(「close」,..);'可以用作回調(當所有行被讀取時發生) - steebchen Feb 16 –