este codigo cria o ficheiro beleza, mas so apanha o 1º cliente, ou seja so escreve uma linha.
Alguem me pode dizer porque isso acontece ?
Eu sei que tenho 60 clientes pois o meu System.out.printl(rs.getString(1)); me imprime todos os clientes, mas no ficheiro so aparece um( o primeiro ).
Não sei se será isso, mas deves deves criar o bufferedWriter antes do ciclo senão ele estará sempre a criar o mesmo ficheiro por cima do anteriormente criado, a colocar nesse ficheiro apenas um cliente, e a fechar o mesmo.
Se eu estiver falando besteira me perdões, mas acho que o problema está em você instanciar o BufferedWriter dentro do while, dessa forma você estará sempre escrevendo 1 linha no arquivo e depois criando um novo arquivo por cima do antigo e escrevendo 1 linha também.
Tenta instanciar esse buffer fora do while e depois de escrever no arquivo chama o método newLine() da classe BufferedWriter. Dessa forma você vai escrever 1 registro por linha, sacou?
Depois avisa qualquer coisa…
[]'s.
kaique
Se eu estiver falando besteira me perdões, mas acho que o problema está em você instanciar o BufferedWriter dentro do while, dessa forma você estará sempre escrevendo 1 linha no arquivo e depois criando um novo arquivo por cima do antigo e escrevendo 1 linha também.
Tenta instanciar esse buffer fora do while e depois de escrever no arquivo chama o método newLine() da classe BufferedWriter. Dessa forma você vai escrever 1 registro por linha, sacou?
Depois avisa qualquer coisa…
[]'s.
Jorge_tuga
boas… nao tenho 100% certeza mas penso k se colocar um TRUE no final do FileWriter, ira resolver o seu problema, ficará algo do genero:
while (resultSet.next()){
System.out.printl(rs.getString(1));
out = new BufferedWriter(new FileWriter(“C:/PS/FR/salarios.txt”, true));
out.write(rs.getString(1));
out.close();
}
o java assume por defeito FALSE e quer dizer que o ficheiro sera sempre renovado, utilizando TRUE sera sempre acrescentado o novo valor no fim do ficheiro.
ps: como acrescenta sempre ao fim do ficheiro, convem colocar 1 out.newline() dentro do ciclo para mudar de linha sempre que escreve um nome.
espero ter ajudado.
Alkamavo
try{
FileWriter out = new FileWriter("C:/PS/FR/salarios.txt);
nao sei bem o k o teu getString() devolve…mas se o problema estiver por la…veh a definição deste metodo.—
ou entao defina apenas dois gets…um para devolver o nome e outro para devolver o salario…