javascript - 使用 Node.js 逐行读取实时文件

标签 javascript node.js

我正在尝试确定逐行读取实时文件的最佳方法。

该行将被发送以供消耗,然后被丢弃。

该文件是事件的,这意味着它正在被另一个应用程序写入(它是一个日志文件)。

该文件可能很大,因此我不想将整个文件准备到内存中然后对其进行处理。

  • 读取行
  • 处理它
  • 保留所需数据
  • 阅读下一行 等等..

似乎有很多插件又名模块。不确定最好的(快速且有效)方法是什么。

我使用的是node.js版本0.10.33

谢谢

最佳答案

使用tail 。它就像 unix tail 命令,但在 Node 中。

npm install tail

npm 页面的使用示例:

Tail = require('tail').Tail;

tail = new Tail("fileToTail", "\n", {}, true);

tail.on("line", function(data) {
  console.log(data);
});

tail.on("error", function(error) {
  console.log('ERROR: ', error);
});

关于javascript - 使用 Node.js 逐行读取实时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26788504/

相关文章:

node.js - GraphicsMagick为透明图像添加黑色周围

node.js - Node JS获取请求体长度

node.js - 使用npm程序调用dialogflow API失败

javascript - 无法为 IE 11 编译 Vue.js

javascript - 使用 Typescript knockout 复选框

javascript - 使用超链接和按钮提交表单

javascript - 如何向客户端显示上传的图片?

javascript - list 文件显示 404。无法在 Service Worker 下检测 list

javascript - 根据事件数量在月 View 上以不同颜色呈现日期

node.js - 否定正则表达式中的反向引用