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

如何有效获取文件中的行数?

董奇思
2023-03-14
问题内容

我的档案很大。它包括大约3.000-20.000行。如何使用Java获取文件中的行总数?


问题答案:

BufferedReader reader = new BufferedReader(new FileReader(“file.txt”));
int lines = 0;
while (reader.readLine() != null) lines++;
reader.close();


更新:
为了回答此处提出的性能问题,我进行了评估。第一件事:20.000行太少了,无法使程序运行明显的时间。我创建了一个包含500万行的文本文件。此解决方案(从不带-server或-XX-options等参数的Java开始)需要在我的盒子上放置11秒钟左右。与wc-l(用于计数行的UNIX命令行工具)相同,为11秒。读取每个字符并查找’\ n’的解决方案需要104秒,是9-10倍。



 类似资料:
  • 问题内容: 在Golang中,我正在寻找一种有效的方法来确定文件的行数。 当然,我总是可以遍历整个文件,但效率似乎并不高。 有没有一种更好的方法(更快,更便宜)来找出文件有多少行? 问题答案: 这是用于查找换行符的更快的行计数器。 它之所以更快,是因为它消除了返回整行所需的所有额外逻辑和缓冲,并利用了字节包提供的某些程序集优化功能来搜索字节片中的字符。 较大的缓冲区在这里也有帮助,尤其是对于较大的

  • 问题内容: 伙计们,我目前正在使用POI 3.9库来处理excel文件。我知道该函数,该函数在Excel文件中返回许多行。 唯一的问题是返回一个从0开始的数字。 因此,如果Excel文件使用前3行,则返回2。如果Excel文件只有1行,则返回0。 Excel文件完全为空时,会发生此问题。仍然返回0,所以我无法确定Excel文件是否具有1行数据,或者其是否为空。 那么如何检测Excel文件是否为空?

  • 伙计们,我正在使用POI 3.9库来处理excel文件。我知道函数,它在Excel文件中返回许多行。 唯一的问题是返回一个计数从0开始的数字。 因此,如果Excel文件使用前3行,返回2。如果Excel文件只有一行,返回0。 当Excel文件完全为空时,就会出现问题仍然返回0,因此我无法确定Excel文件是否有1行数据,或者是否为空。 那么,如何检测Excel文件是否为空?

  • 问题内容: 在谷歌搜索时,我发现使用会很慢。 也有可用的方法。 Java中是否有一种有效的方法来获取文件大小? 问题答案: 好吧,我尝试使用下面的代码对其进行度量: 对于运行次数= 1和迭代次数= 1,URL方法大多数时候是最快的,其次是频道。我以大约十次的新鲜暂停运行。因此对于一次访问,使用URL是我想到的最快方法: 如果运行次数= 5,迭代次数= 50,则绘制的图片会有所不同。 文件必须缓存对

  • 我必须从文件中获取一个数字,有些文件包含字母和数字。比如(dsh8kuebw9)或者有(8)这样的空格,我怎样才能得到这些数字?我试过很多次了。我有一个方法可以找到一个数字出现在一个数字中的方法是count8方法。 parseInt将文件的行转换为整数,但由于在某些文件中有字母,我的方法遇到了问题,因为它只接受整数而不接受字符串

  • 我想知道将JavaFX TableView数据获取到集合中的最佳和最有效的方法。我想获得JavaFX TableView中的所有行。