Verwenden der Java 7-API zum Lesen einer Datei Byte für Byte

Ich habe eine 2-GB-Datei, die ich in Java lesen möchte (tatsächlich vier 2-GB-Dateien). Und so gibt es eine neue Funktion in Java 7, mit der ich alle Bytes auf einmal lesen kann.

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);
        }

    }

}

Dies ist ein dummes Programm, das eine Datei mit einem zuvor eingegebenen Byte liest und diese Datei fortlaufend liest und das Gelesene an dieselbe Datei anhängt. Jetzt ist der Arbeitsspeicher offensichtlich nicht groß genug, um eine 2-GB-Datei gleichzeitig zu lesen, geschweige denn vier, und ich habe mich gefragt, ob es eine schnelle Möglichkeit gibt, ohne externe Bibliotheken (sofern dies nicht die einzige Möglichkeit ist) vier zu lesen Dateien byteweise, damit der Arbeitsspeicher nicht überlastet wird (ansonsten kommt es zu einem Java-Heap-Fehler).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage