Lendo arquivo por partes

Olá!!

Agora que já consegui fazer o usuário escolher o arquivo que ele deseja abrir, preciso ler tal arquivo. Bem, já tenho o objeto File retornado pelo JFileChooser e o problema agora consiste em ler o arquivo por partes. Sabendo que o arquivo selecionado só contém texto (podendo ter alguns megas de tamanho) preciso ler os primeiros 50 caracteres por exemplo e transformá-los em string ou string buffer, depois disso ler os próximos 50 e assim por diante.
Estava lendo que a classe FileInputStream não permite que eu me posicione dentro do arquivo… (pelo menos foi o que eu entendi) então, qual é a saída ? Lembrando que eu não posso carregar em hipótese alguma todo o arquivo na memória por exigência da aplicação.

Desde já agradeço a ajuda!

se quiser ler caracter por caracter, usa read(), senao usa readLine() e pega a quantidade desejada… claro q nao eh mto eficiente, mas…

Rafael

Olá!!
Sua sugestão é interessante mas não se aplica muito bem ao meu caso pois devo carregar o texto que está no arquivo por partes não tão grandes nem tão pequenas pois irei realizar buscas de padrões nesse texto logo preciso pegar por exemplo os 50 primeiros caracteres, depois os 50 - m - 1 caracteres onde m é o tamanho do meu padrão. Estou vendo que terei que fazer uma pequena gambiarra para fazer isso funcionar!!

Voce pode usar o metodo

read(char[] cbuf, int off, int len)

da classe Reader ( a qual muitas classes extendem, como BufferedReader )… … assim voce pode fazer o que deseja ( apesar de ser um meio de leitura lento )

Rafael