Tenho que implementar um algoritmo de ordenação externa em Java. Para isso, tenho que dividir um determinado arquivo (que, logicamente, não cabe na memória) em blocos. A questão é: como fazer isso sem carregar o arquivo inteiro na memória?
Eu estou supondo que ao criar uma instância da classe FileReader da maneira abaixo, estou carregando o arquivo na memória.
FileReader reader = new FileReader("ArquivoTexto.txt");
É isso mesmo? E se for, como conseguirei dividir o arquivo em blocos sem carregá-lo inteiro na memória?
Obrigado.