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

Javascript Node.js,使用单个readline读取多个文件,javascript,node.js,Javascript,Node.js,在学习RubyonRails之后,我还想学习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

在学习RubyonRails之后,我还想学习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"];
这将允许我只读取单个文件

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

lineReader.on('line', function(line) {
   // handle line code here
});
var fileNames = ["input1.txt", "input2.txt", "input3.txt"];
我想读取这个数组中每个文件的每一行,并处理它们的
事件


如何能够逐行读取多个文件

只需在数组中循环,创建一个
ReadStream
并处理
事件:

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

只需在数组中循环,创建一个
ReadStream
并处理
事件:

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

“同时逐行读取多个文件”-这是什么意思?那怎么办?您将如何编写代码以便知道每一行的来源?而且,尽管我不是Ruby爱好者,但这有可能吗?如果使用JavaScript或Node,行读取不是一项功能。无论您使用的软件包允许您做什么,都只受该软件包的限制。随时欢迎您贡献和扩展现有软件包,您可以创建自己的软件包。不管怎样,询问外部库的问题都是离题的。@Amit
readline
是默认的Node.js模块:@SlashmanX-haa!你知道它有多远吗?(我从未注意到)@Amit-至少从v0.5开始:。它出现在v.04中,但没有被记录下来。它似乎是:“一行一行地同时读取多个文件”——这到底是什么意思?那怎么办?您将如何编写代码以便知道每一行的来源?而且,尽管我不是Ruby爱好者,但这有可能吗?如果使用JavaScript或Node,行读取不是一项功能。无论您使用的软件包允许您做什么,都只受该软件包的限制。随时欢迎您贡献和扩展现有软件包,您可以创建自己的软件包。不管怎样,询问外部库的问题都是离题的。@Amit
readline
是默认的Node.js模块:@SlashmanX-haa!你知道它有多远吗?(我从未注意到)@Amit-至少从v0.5开始:。它出现在v.04中,但似乎没有记录:我们可以从所有文件中读取第一行,然后从所有文件中读取第二行,依此类推吗?这将是一个更有用的现实生活场景。谢谢,我们能读所有文件的第一行吗,然后读所有文件的第二行,依此类推?这将是一个更有用的现实生活场景。非常感谢。