Tenho um código que le os dados de um arquivo de texto e depois edita os dados jogando eles em um outro arquivo de texto no formato de insert para fazer inserção no banco. O estranho é que quando eu mando ele ler um arquivo de texto com poucas linhas, ele não joga para o outro arquivo de texto, mas se ele tiver bastante dados aí ele funciona. Vou colocar o programa para teste:
Cara, não tenho certeza se irá solucionar, mas tente ativar o flush automático do buffer.
Troque isto:
new BufferedReader(new FileReader("1rxs.dat"));
Por isto:
new BufferedReader(new FileReader("1rxs.dat"), true);
Dá o seguinte erro:
[quote]--------------------Configuration: --------------------
C:\Documents and Settings\proj_drmo\Desktop\Projeto 8 Insert\Insert_1rxs.java:53: cannot find symbol
symbol : constructor BufferedReader(java.io.FileReader,boolean)
location: class java.io.BufferedReader
BufferedReader bf = new BufferedReader(new FileReader(“1rxs.dat”), true);
^
1 error
Process completed.[/quote]
¬¬
Acho que me equivoquei. Apenas Input Streams têm controle de flush, hehe.
Realmente… tente:
new BufferedReader(new FileReader("1rxs.dat"), 1);
Que configura o Buffer para tamanho de 1 byte.
Você precisa fechar o seu objeto BufferedReader.
bf.close()
Faça isso depois do while que provavelmente irá funcionar
Tá meio lento aqui a internet e só consegui entrar aqui agora. Nenhuma das coisas que vcs 2 disseram deram certo. Fiz o teste de novo aqui com essas informações e com um arquivo de 6 linhas ele não dá certo, mas se tiver 100 linhas ele copia exato. Será que pode ser alguma formatação do texto??