terça-feira, 10 de março de 2009

Java: Ler Arquivo Texto

Essa dica é bastante trivial, porém é um código que sempre necessito consultar diversas vezes.
Resolvi publicar aqui no blog, quem sabe facilita para mais alguém.

A dica é simplesmente ler um arquivo de texto linha-a-linha.
Vamos ao código:



try {
BufferedReader in = new BufferedReader(new FileReader("infilename"));
String str;
while ((str = in.readLine()) != null) {
process(str);
}
in.close();
} catch (IOException e) {
}


Esse trecho de código, lê uma linha do arquivo por vez, foi retirado originalmente do The Java Developers Almanac 1.4. Essa é a forma mais simples que encontrei para ler arquivos de texto puro.

No meu caso, o arquivo de texto é composto por valores separados por vírgula, onde, o primeiro campo se refere ao número de identificação do usuário e o segundo seu nome. Por exemplo:

112344316, José da Silva
098987626, Marcia de Mello
981122154, Fabiane de Andrade



/**
* Carrega lista de telefones válidos para processamento
*/
private void loadTextFile()
{
String filePath = "/tmp/usersList.txt";

try {

BufferedReader in = new BufferedReader(new FileReader(filePath));
String str;
while ((str = in.readLine()) != null) {
String data[] = str.split(",");
System.out.println("Nome: " + data[1] + " CPF.:" + data[0]);
}

in.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Erro ao ler arquivo de texto " + e.toString());
}
}



Esse código simples mostrou como ler e processar um arquivo de texto linha por linha.