如何逐行将文件读入node.js中的数组

时间:2017-07-20 08:12:13

标签: javascript arrays node.js

我需要能够读取一个包含每行的一系列数字的简单文本文件。

这些数字需要在我的代码中的某处读取和存储,所以我认为数组是最好的方法。一旦数组存储了值,我可以使用它进行进一步的操作,但我似乎无法实际读取并将值从文本文件中的每一行推入到我的数组中。

最好的方法是什么?所有帮助表示赞赏!谢谢!

2 个答案:

答案 0 :(得分:7)

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

var instream = fs.createReadStream('./test.txt');
var outstream = new stream;
var rl = readline.createInterface(instream, outstream);

var arr = [];

rl.on('line', function(line) {
  // process line here
  arr.push(line);
});

rl.on('close', function() {
  // do something on finish here
  console.log('arr', arr);
});

此方法还处理大型文本文件。 enter image description here

答案 1 :(得分:0)

查看此answer

这是那里提出的解决方案:

var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.in')
});

lineReader.on('line', function (line) {
  console.log('Line from file:', line);
});

也已添加到Node docs