如何读取大文件中的第二列

Fra*_*ank 6 java file

我有一个包含数百万列的巨大文件,按空格分割,但它只有有限的行数:

examples.txt:

1 2 3 4 5 ........
3 1 2 3 5 .........
l 6 3 2 2 ........
Run Code Online (Sandbox Code Playgroud)

现在,我只想阅读第二栏:

2
1
6
Run Code Online (Sandbox Code Playgroud)

我如何在高性能的Java中做到这一点.

谢谢

更新:文件通常是1.4G,包含数百行.

che*_*ken 2

如果您的文件不是静态结构的,那么您唯一的选择是天真的选择:逐字节序列读取文件字节序列,查找换行符并抓取每一列后的第二列。使用FileReader

如果您的文件是静态结构的,您可以直接计算出第二列在文件中的位置以及seek()给定行的位置。

  • 做网络读取每一行...只需读取大量字节并迭代它..如果该行很长,则在读取时会阻塞很长时间并且内存已满! (2认同)