Olá
tenho esse código e esta dando uns erros:
import java.io.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileWriter;
import java.io.FileReader;
import java.util.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.sql.*;
import javax.swing.*;
import javax.swing.JOptionPane;
public class Relatorio extends JFrame {
public Connection con = null;
public Statement stm = null;
public ResultSet rs;
String nome = "";
String teste = "", t = "";
public Relatorio(){
}
public void salvar(){
String nc = "";
float vlr = 0;
String venc = "";
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/dbsgod", "root", "");
stm = con.createStatement();
rs = stm.executeQuery("select * from contaextra");
while(rs.next()){
nc = rs.getString(2);
vlr = rs.getFloat(3);
venc = rs.getString(4);
teste = String.format("%-4s\t %4.2f\t %-4s\n", nc, vlr, venc);
try{
File f = new File("c:\\teste\\relatorio.txt");
FileWriter fw = new FileWriter(f);
fw.write("Cod\tNome\tSobrenome \n\n");
fw.append(teste);
// fw.write(teste);
fw.close();// no arquivo que ele gera o\n fica um quadrinho e não salva todos os registros....
//só o último registro
} //fim 2º try
catch (Exception e){
System.out.println("Erro ao gravar no aquivo");
}//fim 1º catch (do arquivo)
System.out.println(teste);
}//fim while
}//fim do 1º try
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Apresente este erro\nao desenvolvedor do sistema.","E R R O",JOptionPane.INFORMATION_MESSAGE);
//e.printStackTrace();
}//fim 2º catch (da conexao ao banco)
}//fim metodo salvar
public static void main (String args[]) throws FileNotFoundException {
Relatorio a = new Relatorio();
a.salvar();
}
}
O que acontece: - Ao gravar no arquivo, não grava tudo, só o ultimo registro vindo do banco…
- e o “\n” não grava, grava um quadradinho…
eu tentei
fw.append(teste);
ffw.write(teste);
e da o mesmo erro… O que pode ser?
Obrigado a todos por enquanto…
Ricardo