在Node JS中仅读取文件第一行的最有效方法是什么?

音乐思想

假设您有很多长文本文件,并且只需要从每个文本的第一行提取数据(而无需阅读其他内容)。Node JS做到这一点的最佳方法是什么?

谢谢!

音乐思想

我最终采用了这种解决方案,这似乎是迄今为止我看到的最高效的解决方案:

var fs = require('fs');
var Q = require('q');

function readFirstLine (path) {
  return Q.promise(function (resolve, reject) {
    var rs = fs.createReadStream(path, {encoding: 'utf8'});
    var acc = '';
    var pos = 0;
    var index;
    rs
      .on('data', function (chunk) {
        index = chunk.indexOf('\n');
        acc += chunk;
        index !== -1 ? rs.close() : pos += chunk.length;
      })
      .on('close', function () {
        resolve(acc.slice(0, pos + index));
      })
      .on('error', function (err) {
        reject(err);
      })
  });
}

为了方便起见,我创建了一个名为“ firstline的npm模块

感谢@dandavis的使用建议String.prototype.slice()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查当前是否已安装Node的最有效方法是什么?

在node.js中执行“多线程”的最佳和有效方法是什么?

在 Node.js(快速框架)中处理文本的有效方法是什么?

Node.js和模块范围:将文件读入内存的最有效方法

获取文本文件第一行和最后一行的最有效方法是什么?

在Sockets.IO Node.JS中存储和访问客户端列表的最有效方法

检查每一行到特定字符的最有效方法是什么

在Matlab中读取多个.JPG文件的最有效方法是什么?

这是使用node.js和jade打开文件并读取每一行的方法吗?

从包含多个已排序运行的文件中检索行的最有效方法是什么

Node.js:有效读取ndarray中的值以读取像素

在 Node JS 中最有效地下载、解压缩和分析许多文件

node.js从.txt文件中删除一行

如何使用Java有效读取Hadoop(HDFS)文件中的第一行?

在Oracle数据库中从联接查询结果为每一行更新一列的最有效方法是什么?

如何在node.js中的文本文件中添加第一行(使用fs)

仅使用getvalueofnode(node.find())在pandas Dataframe中获得第一行

从大向量中删除第一个元素的最有效方法是什么?

同时使用Node.js PM2群集和Node.js worker_threads模块的最有效方法?

用第一项对数组排序的最有效方法是什么?

Node.js'fs'-创建文件+清除文件的更有效方法

复制标准向量中仅出现一次的元素的最有效方法是什么?

如何使用Node.js最有效地解析网页

在node.js中一次读取一行文件?

在Node.js中拥有在应用程序生存期内有效的变量的最佳实践是什么?

Node JS同步读取一行文本

Node.js上载到Amazon S3的方法有效但是文件损坏

为什么使用()调用Node.js REPL中的函数有效?

Node.js-检查字符串是否代表大量元素的有效日期时间的最快方法是什么?