Usando seek da class RandomAccessFile!

Dae galera!! Eu to fazendo uns testes usando a classe RandoAccessFile a me ocorreram algumas dúvidas:

Eu tenho um for assim:

[code]for( int i = 0; i < file.length(); i++ ) {
buffer.putChar( ( char ) file.read());

if&#40; buffer.getChar&#40;&#41;.indexOf&#40;&quot;Jhonatas&quot;&#41;&#41;	
file.seek&#40; file.getFilePointer&#40;&#41;&#41;;

}[/code]
Obs: Esse buffer é uma classe que eu criei!!
A idéia é, quando ele encontrar o nome Jhonatas, ele daria um seek( ponteiro ) para a posição desse nome, só que eu estou usando um for usando o tamnho do arquivo, ou seja, se o nome Jhonatas estiver na posição 40 e eu der um seek para ela, simplesmente ele leria a partir dali e o contador do for iria dar erro, pois ele está usando o tamanho do arquivo como contador!!
Alguém sabe se tem outra maneira, tipo, while( file.eof()), algo do tipo? Ah!! E pra usar o seek dentro do for, aqui nos meus testes, ele não voltou pra posição do meu nome, alguém tem alguma idéia??
Valeu!!!

Talvez assim:

[code]int b = 0;

while((b = file.read())>-1){

}[/code]