php 中提供了专门的 file 函数来读取文件,通过 file 函数可以一次性获取一个 txt 文件的行数:
但是 file 函数不适用于大文件,执行缓慢并且会造成严重的内存问题。
网上还有一种通过 fopen 函数以及 while 逐行统计的代码,如下:
这种方法在读取大文件行数时,同样面临着效率太慢的问题。
经过实践,我们采用以下方法可以超高效率的读取 txt 大文件行数,并且内存占用也很低。
通过多行统计,每次读取 N 个字节,然后再统计读取的行数累加。
测试情况,文件大小 3.14 GB
第 1 次:line: 13214810 , time:56.2779 s;
第 2 次:line: 13214810 , time:49.6678 s;
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







