Ler arquivo

estou com um problema.
preciso gerar um arquivo a partir da leitura de outro arquivo, o arquivo que tenho que ler da 500000 linhas, eu leio o arquivo e coloco ele em uma collection, mas da erro de memoria, coloquei para rodar em um servidor e rodou por mais de 12 horas e nao terminou, alguem sabe de uma maneira mais rapida para ler um arquivo assim.

Como vc esta fazendo a leitura deste arquivo ?

Usar classes de buffer como BufferedInputStream e BufferedOutputStream
geralmente ajudam a deixar a leitura e escrita de arquivos mais rapida

obrigado