繁体   English   中英

Node.js,使用单个readline读取多个文件

[英]Node.js, Using single readline to read multiple files

学习了Ruby on Rails之后,我还想学习Node.JS。

在Node.JS中,您可以使用readline逐行读取文件:

var fs = require("fs");
var readline = require("readline");

var fileName =  "input.txt";

我们可以通过以下方式将readline分配给文件:

var lineReader = readline.createInterface({
  input: fs.createReadStream(fileName)
});

然后,我们可以像这样读取每一行:

lineReader.on('line', function(line) {
   // handle line code here
});

这将使我只能读取单个文件。

如果我有这样的文件名数组:

var fileNames = ["input1.txt", "input2.txt", "input3.txt"];

我想读取此数组中每个文件的每一行并处理它们的line事件。

如何逐行读取多个文件?

只需遍历数组,创建一个ReadStream并处理line事件:

var fileNames = ["input1.txt", "input2.txt", "input3.txt"];
var lineReader = [];

for(var x in fileNames) {
    var fileName = fileNames[x];

    lineReader[x] = readline.createInterface({
        input: fs.createReadStream(fileName)
    });

    lineReader[x].on('line', function(line) {
        // handle line of every fileName
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM