Estou com problema para usar o .readLine(), criei um programa para fazer abrir um arquivo .txt , mas em meu código ele esta lindo apenas a ultima linha do arquivo.
ja tentei varias formas de ler o arquivos, mas esta dendo sempre o mesmo problema
Olá,
creio que o problema esteja na linha: linha = br.readLine();
Você precisa usar um StringBuilder ao invés de usar uma String para concatenar e armazenar todas as linhas do arquivo. Tente dessa forma:
StringBuilder linhas = new StringBuilder();
while(br.readLine() != null){
linhas.append(br.readLine());
}
E
eulukasthyago
Olá, obrigado por responder.
Agora esta até funcionando, mas esta lindo uma linha sim outra não, e pondo uma ultima linha null.
Desde já agradeço.
L
luizsodrerj
Tente da seguinte forma:
StringBuilder linhas = new StringBuilder();
String linha = br.readLine();
while(linha != null){
// Esse if não deve ser executado pois o teste
// já está sendo feito pelo while
//if(br.readLine() != null){
linhas.append(linha);
txtATextoBn.setText(linha);
linha = br.readLine();
//}
}
E
eulukasthyago
Coloquei da seguinte formo, como você havia dito, mas ai ele volta a me retornar apenas a ultima linha.
se eu utilizar so com a StringBuilder, ele me retorna quase todas a linhas, so que lindo uma linha e pulando outra, assim como mandei na imagem na postagem anterior.
Desde ja agradeço.
try{// TODO add your handling code here:FileReaderarq=newFileReader(txtAbrirNomeArquivo.getText()+".txt");BufferedReaderbr=newBufferedReader(arq);StringBuilderlinhas=newStringBuilder();Stringlinha=br.readLine();while(br.readLine()!=null){linhas.append(linha);txtATextoBn.setText(linha);linha=br.readLine();}abrirArquivoBn.setVisible(false);}catch(IOExceptionerro){JOptionPane.showMessageDialog(null,"Erro ao Abrir Arquivo \n"+"Codigo de erro: "+erro);}
O luizsodrerj, já explicou e muito bem, mas e’ importante você entender o que ele detalhou.
while(br.readLine()!=null){//<---br.readLine()vailerumalinhalinhas.append(linha); txtATextoBn.setText(linha);linha=br.readLine(); // aqui br.readLine() vai ler uma outra linha
}
E
eulukasthyago
isso eu compreendi, mas aqui esta dando algum erro estranho que esta exibindo apenas a ultima linha do arquivo txt
vou fazer alguns testes aqui, ai dou um retorno aqui e falo no que deu.