Preciso capturar as informações de um arquivo txt, porem esse arquivo pode um livro de caracteres.
Como armazeno isso em uma String. Seria correto igual o código abaixo.
Bom, a rigor um arquivo txt não deveria ser armazenado em uma única string, mas a maneira mais correta de fazer isso seria assim:
String str;
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader (new FileReader ("arquivo.txt"));
for (String linha = br.readLine(); linha != null; linha = br.readLine())
{
sb.append (linha).append ("\n");
}
br.close();
str = sb.toString();
Bom a rigor do rigor não deveríamos usar StringBuffer a menos que estivessemos com multiplas threads em execução, assim a maneira mais correta seria usar StringBuilder sb e sb.append();
Vini_Fernandes
Apenas explicando as opcoes dos colegas acima: um BufferedReader é uma classe que adotamos para a leitura de caracteres de um input stream, sendo que estes mesmos caracteres estarao no buffer agilizando a manipulacao dos dados, sendo assim, recomendado para uma entrada de dados com muita informacao. Já o StringBuffer tem uma desvantagem em relacao ao desempenho pois seus metodos sao sincronizados, tornando a manipulacao dos dados mais lenta, sendo assim, uma boa opcao é StringBuilder que possui os mesmo metodos que o StringBuffer .
Abracao
a.gomes
Vini Fernandes:
Apenas explicando as opcoes dos colegas acima: um BufferedReader é uma classe que adotamos para a leitura de caracteres de um input stream, sendo que estes mesmos caracteres estarao no buffer agilizando a manipulacao dos dados, sendo assim, recomendado para uma entrada de dados com muita informacao. Já o StringBuffer tem uma desvantagem em relacao ao desempenho pois seus metodos sao sincronizados, tornando a manipulacao dos dados mais lenta, sendo assim, uma boa opcao é StringBuilder que possui os mesmo metodos que o StringBuffer .
Abracao
rsrsr
esse fórum é uma maravilha, tem sugestao, discussao e ate a explicação da discussao, para o problema de um colega.
excelente Vini!!
eu adoro esse forum. rsrsr
Anderson Gomes.
T
thingol
a.gomes:
thingol:
Bom, a rigor um arquivo txt não deveria ser armazenado em uma única string, mas a maneira mais correta de fazer isso seria assim:
String str;
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader (new FileReader ("arquivo.txt"));
for (String linha = br.readLine(); linha != null; linha = br.readLine())
{
sb.append (linha).append ("\n");
}
br.close();
str = sb.toString();
Bom a rigor do rigor não deveríamos usar StringBuffer a menos que estivessemos com multiplas threads em execução, assim a maneira mais correta seria usar StringBuilder sb e sb.append();
Tá bom, eu não tinha visto que era um StringBuffer - como costumo ver muita gente que é obrigada a usar Java 1.4 ou anterior, normalmente aconselho a usar StringBuffer mais por causa desse pessoal, já que a diferença de desempenho é desprezível nesse caso em particular (ler um arquivo).*
Desculpa esfarrapada - indicar StringBuffer e se esquecer do StringBuilder é coisa de gente que está com a cabeça no século passado, como eu