关于javascript:如何逐行读取文件到node.js中的数组

How to read a file line by line into an array in node.js

本问题已经有最佳答案,请猛点这里访问。

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

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

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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
});

此方法还处理大型文本文件。
https://coderwall.com/p/ohjerg/read-large-text-files-in-nodejs


看看这个答案。

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

1
2
3
4
5
6
7
var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.in')
});

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

也已添加到Node文档中。