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

标签 javascript node.js

在学习了 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
    });
}

关于javascript - Node.js,使用单个 readline 读取多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853841/

相关文章:

javascript - 创建类对象时,抛出错误

javascript - 尝试在 JavaScript 中重播 GPX 路线,但在延迟航路点方面遇到困难

html - 单击表单提交按钮时触发远程引导模态,然后远程模态内容具有要显示的表单数据?

javascript - 处理 JSON 创建一个普通数组而不是 JSON 对象

javascript - Ajax Post 请求失败

javascript - 短语的正则表达式(不仅仅是单词)

javascript - Internet Explorer 9-X 域请求仅在兼容模式下工作

javascript - URLSearchParams 返回空对象

java - Node java : Install error: "fatal error LNK1181 cannot open input file DelayImp.lib"

javascript - 如何以低延迟流式传输实时音频