Leitura de arquivo TXT

3 respostas
rockstorm

Boa tarde,
Tenho um arquivo txt com 200 linhas. Tenho que enviar cada um destes registros para o banco de dados. Minha duvida é a seguinte.
Preciso enviar em blocos de 25 linhas, então eu precisaria ler 25 linhas, gravar e depois ler mais 25 linhas e assim por diante.

Eu conheço um pouco da API BufferReader mas não encontrei uma maneira de fazer isso. Alguem pode me ajudar?

grato

3 Respostas

Jair_Rillo_Junior

você terá que fazer o processo manual.
Ler linha por linha, fazer um contador, quando der 25, joga no banco e assim vai.
Algo mais ou menos assim

int count = 1;
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line;
StringBuffer lineContent = new StringBuffer();
while ((line = reader.readLine()) != null) {
  lineContent.append(line);  
  if (count == 25) {
    //manda a StringBuffer para o Banco
    //esvazia o conteúdo da StringBuffer
    count = 0;
  }
  count++;
}

O Código acima pode ajudar, entretanto existem alguns detalhes que você tem que melhorar, como por exemplo, quando sair do While, testar se a StringBuffer tem valor, se SIM, joga para o Banco, outra coisa você tem que tratar as Exception e assim por diante

rockstorm

ManchesteR

Muito Obrigado, era exatamente isso que estava procurando.Mas assim que ele ler 25 linhas, ele pegará as próximas 25 linhas? Ou voltara novamente ao inicio. Não sei se deu para entender minha dificuldade já que o arquivo tem 200 registros.
grato

ramilani12

Vc pode ter a qtde interações pela seguinte formula:

Total de linhas do Arquivo / 25 = qtas iterações ele realizará

Criado 20 de março de 2007
Ultima resposta 20 de mar. de 2007
Respostas 3
Participantes 3