Używanie API Java 7 do odczytu bajtu pliku po bajcie

Mam plik 2 GB, który chcę odczytać w Javie (właściwie cztery pliki 2 GB). Jest więc nowa funkcja w Javie 7, która pozwala mi odczytywać wszystkie bajty na raz.

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

    }

}

Jest to głupi program, który czyta plik z wprowadzonym w nim jednobajtowym bajtem i stale odczytuje ten plik i dołącza to, co odczytuje z powrotem do tego samego pliku. Teraz oczywiście pamięć RAM nie jest wystarczająco duża, aby odczytać plik 2 GB jednocześnie, nie mówiąc już o czterech z nich, więc zastanawiałem się, czy istnieje jakikolwiek szybki sposób, bez używania zewnętrznych bibliotek (chyba że jest to jedyny sposób), aby przeczytać cztery pliki bajt po bajcie, tak że pamięć RAM nie jest przeciążona (w przeciwnym razie kończę się błędem sterty Java).

questionAnswers(2)

yourAnswerToTheQuestion