Erro ao ler arquivo .txt

1 resposta
n10

pessoal eu estou lendo um arquivo de texto e quando chega ao final ele não le o ultimo registro apenas diz que o ultimo registro é num e envia uma msg de erro, passei a tarde toda tentando encontrar o erro e não encontrei. se alguem puder ajudar eu agradeço.

public static void arquivoAgencia (String nomeArquivo)throws IOException
	{
		FileReader fr = new FileReader (nomeArquivo);
		bf = new BufferedReader(fr);
	}
	
public static void armazenaClientes( Agencias ag) throws IOException
	{
		String linha;
		Clientes cliente;

		try{
			while ( bf.readLine() != null)
				{
				   	linha = bf.readLine();
				   	cliente = new Clientes(linha);
					ag.armazenaCliente(cliente);
				}
			System.out.println(ag.listaClientes.size());
		}
		catch(IOException e)
		{
			bf.close();
		}
	}

Ex: dos dados que eu vou ler
_ 1111.111-1 SEQUENCIA DE STRINGS 0000
_ 1111.111-1 SEQUENCIA DE STRINGS2 0000
_ 1111.111-1 SEQUENCIA DE STRINGS3 0000
_ 1111.111-1 SEQUENCIA DE STRINGS4 0000
_ 1111.111-Y SEQUENCIA DE STRINGS5 0000
_ 1111.111-1 SEQUENCIA DE STRINGS6 0000
_ 1111.111-1 SEQUENCIA DE STRINGS7 0000

1 Resposta

L

Infelizmente não tenho muito tempo para analisar seu código, mas batendo o olho, tenta alterar essa linha:

while ( bf.readLine() != null)

pra isso:

while ( (linha = bf.readLine()) != null)

e com isso tire essa linha:

linha = bf.readLine();

Você chamando readLine() no while você já tah consumindo uma linha. Dai quando você chama dentro
do while de novo você le outra linha…não sei se deu pra entender…mas é +ou- isso

Criado 11 de março de 2008
Ultima resposta 11 de mar. de 2008
Respostas 1
Participantes 2