当前位置: 首页 > 面试题库 >

Node.js:计算文件中的行数

后学
2023-03-14
问题内容

我有大型文本文件,范围在30MB和之间10GB。如何使用来计算文件中的行数Node.js

我有这些限制:

  • 整个文件不需要写入内存
  • 不需要子进程来执行任务

问题答案:

不使用wc的解决方案:

var i;
var count = 0;
require('fs').createReadStream(process.argv[2])
  .on('data', function(chunk) {
    for (i=0; i < chunk.length; ++i)
      if (chunk[i] == 10) count++;
  })
  .on('end', function() {
    console.log(count);
  });

速度较慢,但​​您可能没有想到的那么多-140M +文件的传输时间为0.6秒,包括node.js加载和启动时间

>time node countlines.js video.mp4 
619643

real    0m0.614s
user    0m0.489s
sys 0m0.132s

>time wc -l video.mp4 
619643 video.mp4
real    0m0.133s
user    0m0.108s
sys 0m0.024s

>wc -c video.mp4
144681406  video.mp4


 类似资料:
  • 问题内容: 我通常使用大约20 Gb大小的文本文件,并且发现自己经常对给定文件中的行数进行计数。 我现在做的只是,而且需要很长时间。有什么解决方案会更快吗? 我在安装了Hadoop的高性能集群中工作。我想知道地图缩小方法是否可以提供帮助。 我希望解决方案像解决方案一样简单,只需一条生产线,但不确定其可行性。 有任何想法吗? 问题答案: 尝试: 猫也是不必要的:用您现在的方式就足够了。

  • 本文向大家介绍使用Java计算文本文件中的行数,包括了使用Java计算文本文件中的行数的使用技巧和注意事项,需要的朋友参考一下 我们可以使用Java的BufferedReader类读取文件中的行。请参阅下面的示例- 示例 在类路径中请看以下文本文件。 test.txt 测试器 这将产生以下结果- 输出结果

  • 问题内容: 我正在用node.js编写游戏服务器,某些操作涉及服务器部分的大量计算。在运行这些计算时,我不想停止接受连接- 当node.js不支持线程时,如何在后台运行它们? 问题答案: 我个人不能保证任何一种,但是如果您热衷于进行工作,那么节点模块页面上列出了针对节点的WebWorkers API的几个独立实现。 : http://github.com/cramforce/node-worker

  • 本文向大家介绍python计算文本文件行数的方法,包括了python计算文本文件行数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python计算文本文件行数的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 这应该将行数,单词数和字符数计入文件中。 但这是行不通的。从输出中仅显示。 码: 我不明白发生了什么事。有什么建议? 问题答案: 不同的方法。使用字符串查找行数,单词数和字符数: 注意: 对于其他编码样式,请使用代替。 是需要设置的字符。引用这个和维基

  • 问题内容: 我刚刚发现我的脚本给了我一个致命错误: 那行是这样的: 因此,我认为将文件加载到内存中并计算行数有困难,是否有更有效的方法可以在没有内存问题的情况下执行此操作? 我需要计算行数从2MB到500MB的文本文件。有时候也许是演出。 谢谢大家的帮助。 问题答案: 这将使用较少的内存,因为它不会将整个文件加载到内存中: 将一行加载到内存中(如果省略第二个参数,它将继续从流中读取数据,直到到达行