在学习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
事件。
如何逐行读取多个文件?
答案 0 :(得分:4)
只需循环遍历数组,创建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
});
}