Olá, pessoal.
Estou para desenvolver um aplicativo na minha empresa e, fazendo alguns teste, encontrei dificuldades para a leitura de um arquivo .txt. Se alguém me der uma luz, agradeço d+!
Nós temos um aparelho (Cuja finalidade não vem ao caso) que gera um arquivo de texto(.txt) em uma determinada pasta de um computador. O aplicativo que estou desenvolvendo deve capturar esse arquivo, ler seus dados e passá-los para um banco de dados. Acontece que ao utilizar o método readLine() da BufferedReader, o aplicativo pula várias linhas do arquivo .txt corrente.
Vou tentar explicar melhor. O arquivo de texto lido tem o seguinte formato:
[quote]
Arquivo teste.txt
[i]
Relatorio, versao do firmware: 07
Alvo: 00000003
Serial: FFFFFFFFFF - FV: 07
Firm Mode: 0
SensorMode:0
Relatorio: 23/12/10 19:40:15
Emissao: 23/12/10 19:57:54
Contador: 00:17:40
N.Baixo: 10
N.Alto: 10
Histerese: 3
Filtro: 4
Pts.Exame: 30
N.Eventos: 7
I Amp (mA):380
I medido: 19
I offset: 1
Tensao: 128
Fases: 1
FatorPot: 0.00
ENERGIA: 0.0000 kWh
0: 00:16:21
2: 00:16:28
-2: 00:16:39
0: 00:16:45
2: 00:16:45
0: 00:16:52
2: 00:16:58
FIM DO RELATORIO
[/i][/quote]
Utilizando as seguintes linhas de código (O código é apenas para efeito de testes, não sendo o código efetivo da aplicação):
try
{
FileReader fr = new FileReader("c:/MDP/teste2.txt");
BufferedReader br = new BufferedReader(fr);
String linha;
while(br.readLine() != null)
{
linha = br.readLine();
System.out.println(linha);
}
br.close();
fr.close();
}
catch (FileNotFoundException e)
{
System.out.println("O Arquivo não foi encontrado!");
e.printStackTrace();
System.exit(1);
}
catch (IOException e)
{
System.out.println("Erro na leitura do Arquivo!");
e.printStackTrace();
System.exit(1);
}
Dessa forma eu obtenho o seguinte resultado:
[quote]
Saída da aplicação:
Serial: FFFFFFFFFF - FV: 07
SensorMode:0
Emissao: 23/12/10 19:57:54
N.Baixo: 10
Histerese: 3
Pts.Exame: 30
I Amp (mA):380
I offset: 1
Fases: 1
ENERGIA: 0.0000 kWh
0: 00:16:21
-2: 00:16:39
2: 00:16:45
2: 00:16:58
FIM DO RELATORIO
[/quote]
Reparem que várias linhas do arquivo foram ignoradas pelo método readLine(). Alguém saberia por que isso acontece? Caso esta não seja a melhor solução para o problema, alguém indica uma melhor?
Outro problema são as linhas em branco que o método ignora totalmente. Existe alguma forma de levar em consideração também as linhas em branco?
Bom, é isso aí. Se alguém puder ajudar, agradeço desde já.
Sds à comunidade.