gpt4 book ai didi

java - 获取文本文件中的每 n 行哪个更有效?使用 Java 的 BufferedReader 进行迭代,或者拆分成子文件然后获取每个子文件的顶行?

转载 作者:行者123 更新时间:2023-12-02 04:30:25 27 4
gpt4 key购买 nike

我有一个非常大的数据集,我想要以最快的方式获取每第 n 行(例如,如果文件有 1M 行长,我想要每 1000 行)。

理想情况下,我正在寻找一种跳转到每个行号的方法,但我还没有找到一种方法来做到这一点。

我的解决方法是分割原始数据文件(使用 Unix“split”命令),然后获取每个文件的顶行。

我很好奇是否有一种方法可以跳转到 Java 中的特定行号,而无需迭代文件中的其他行。如果不是,分割文件或使用 BufferedReader 直到到达所需的行是否更有效?

非常感谢任何帮助!

最佳答案

拆分成子文件没有什么值得推荐的。它会增加延迟并浪费空间。它与您的第一个解决方案的工作相同,但还增加了更多功能。

使用 BufferedReader 每秒可以读取数百万行。用简单的方法来做吧。使用扩展了 BufferedReader 的 LineNumberReader 来读取行,直到行数达到您想要的行数。

关于java - 获取文本文件中的每 n 行哪个更有效?使用 Java 的 BufferedReader 进行迭代,或者拆分成子文件然后获取每个子文件的顶行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31553776/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com