Javaで読みたい2GBのファイル(実際には4つの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);
}
}
}
これは、1バイトが事前に入力されたファイルを読み取り、そのファイルを継続的に読み取り、読み取ったものを同じファイルに追加するダムプログラムです。明らかに、RAMは一度に2GBのファイルを読み取るのに十分な大きさではなく、そのうちの4つは言うまでもなく、外部ライブラリを使用せずに(それが唯一の方法でない限り)4つを読み取るための迅速な方法があるかどうか疑問に思いましたRAMが過負荷にならないように、ファイルを1バイトずつファイルします(そうしないと、Javaヒープエラーが発生します)。