我想用 Java 读取一个二进制文件,其中包含 m 个数据集。我知道每个数据集都由 3 个元素组成:一个长数、一个双数和该序列中的一个长数。数据集一个接一个地重复,直到文件末尾。假设数据集的数量 m 是已知的,我如何在不将所有数据集传递到主内存的情况下用 Java 读取文件,以便也能够读取不“适合”在主内存中的大文件?
最佳答案
如果你想要顺序访问:
import java.io.FileInputStream;
import java.io.DataInputStream;
DataInputStream dis = new DataInputStream(new FileInputStream("input.bin"))
for(int i = 0; i < m; i++){
long l1 = dis.readLong();
double d1 = dis.readDouble();
long l2 = dis.readLong();
/* do what you need */
}
dis.close();
关于java - 如何在 Java 中读取一个大的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118468/