我有一个 2 GB 的文件,我想用 Java 读取(实际上是四个 2 GB 的文件)。因此,Java 7 中有一个新功能可以让我一次读取所有字节。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
public class reconstructor {
public static void main(String[] args) throws IOException {
Path p = Paths.get("test.txt");
for (int i = 0; i < 1; i++) {
byte[] b = Files.readAllBytes(p);
Files.write(p, b, StandardOpenOption.APPEND);
}
}
}
这是一个愚蠢的程序,它将读取一个预先输入了一个字节的文件,并不断地读取该文件并将读取的内容附加到同一个文件中。现在显然,RAM 不足以一次读取一个 2gb 文件,更不用说其中四个了,所以我想知道是否有任何快速方法,而不使用外部库(除非这是唯一的方法)来读取四个一个字节一个字节地文件,这样 RAM 就不会过载(否则我最终会出现 Java 堆错误)。