Criar Classe/Método para ler uma linha de um Arq TXT por chamada

Pessoal,

gostaria de encapsular uma Classe/Método que fará a leitura de uma linha de um Arq TXT a cada chamada.
Ex: 1a Chamada lerá a 1a linha, 2a chamada lerá a próxima e assim por diante, até chegar ao fim do arq.

Estou usando as seguintes instruções na classe que lerá o arq:

        FileReader objNomeArq    = new FileReader    ("Arquivo.txt");
        BufferedReader mtdLerArq = new BufferedReader(objNomeArq);

        wRegArq                  = mtdLerArq.readLine();

        return wRegArq;

Funciona, mas a cada chamada é lida sempre a 1a linha (não lê a próxima).

Tentei colocar o FileReader… e o BufferedReader… em um IF pra só executar na 1a chamada e
nas demais só executar o “wRegArq = mtdLerArq.readLine()” e o return, mas é claro q a
compilação não reconhece “mtdLerArq” da instrução “wRegArq = mtdLerArq.readLine()”, pois ela
está fora da condicional do IF onde estão o FileReader e o BufferedReader.

O que eu quero evitar é ler todas as linhas de uma vez. Quero chamar a Classe/Método da Leitura, receber a linha lida, executar varias outras instruções do programa e, só depois, chamar a Classe/Método novamente e ler a proxima linha e assim por diante.

Li sobre o Scanner e outras formas de ler o arquivo, mas entendi que o mesmo problema existirá, se os mesmos forem colocados em uma Classe/Metodo que sera chamada a cada linha do arq a ser obtida.

Agradeço a ajuda.

Você tem que colocar o metódo de leitura dentro de um while(arquivo hasNext()), assim ele vai ler uma linha por vez. Ai o que você faz dentro do while já é com você, uma maneira comum é armazenar dentro de um ArrayList.

BlackHeartH, grato pela resposta. Mas o que eu quero evitar é, justamente, ler todas as linhas dentro de um while e carregar um Array. Meu objetivo é chamar uma Classe q lê apenas 1 linha e retorna e, depois, quando eu chamar a mesma Classe novamente ela lê a proxima linha do arq e por ai vai. Mas eu consegui fazer funcionar. Usei o Scanner. Analisei melhor e foi possível usá-lo para fazer o que eu queria. Grato pelo apoio.

Ahhh sim, uma gambiarra que pensei rápido aqui seria ler um elemento do array em cada chamada do método. Haha

Boa sorte. :wink: