Serialização de objetos

Bom dia galera!
Bom, pessoal, eu estou desenvolvendo um codigo, onde grava as Strings de um objeto em um arquivo. Ele grava mas mesmo assim entra na exception. e tambem não lê esse arquivo.
Eu estou fazendo em uma classe interna.
Alguem poderia me da uma luz?
segue parte do codgo.

private void botaoSalvarConfiguracaoActionPerformed(java.awt.event.ActionEvent evt) {

    gravaArquivo = new GravaConfiguracaoDoBanco();

    gravaArquivo.banco = (String) listaDeBancos.getSelectedItem();
    gravaArquivo.driver = driverText.getText();
    gravaArquivo.url = urlText.getText();
    gravaArquivo.usuario = usuarioText.getText();
    gravaArquivo.senha = senhaDoBanco.getText();
    try {

        salvaArquivo = new ObjectOutputStream(new FileOutputStream(System.getProperty("user.dir") +
                File.separator + "Banco.conf"));
        salvaArquivo.writeObject(gravaArquivo);
        salvaArquivo.close();

        JOptionPane.showMessageDialog(null, "Configurações gravadas com sucesso.", "Gravação das Configurações" +
                " do Banco de Dados.", JOptionPane.INFORMATION_MESSAGE);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Não foi possível gerar o arquivo de configurações. \n" +
                "Contacte o responsável pelo sistema.", "Erro na gravação das Configurações" +
                " do Banco de Dados.", JOptionPane.ERROR_MESSAGE);
    }
}                                                       

private void listaDeBancosActionPerformed(java.awt.event.ActionEvent evt) {                                              
    salvaSenha.setSelected(false);
    if (listaDeBancos.getSelectedItem().equals("FireBird InterBase")) {
        driverText.setText("org.firebirdsql.jdbc.FBDriver");
        urlText.setText("jdbc:firebirdsql:localhost/3050:C:/banco de dados/nome do banco.FDB");
        usuarioText.setText("root");
        senhaDoBanco.setText("root");
    } else {
        if (listaDeBancos.getSelectedItem().equals("Oracle")) {
            driverText.setText("oracle.jdbc.driver.OracleDriver");
            urlText.setText("jdbc:oracle:thin:@127.0.0.1:1521:XE");
            usuarioText.setText("root");
            senhaDoBanco.setText("root");
        } else {
            if (listaDeBancos.getSelectedItem().equals("Access")) {
                driverText.setText("sun.jdbc.odbc.JdbcOdbcDriver");
                urlText.setText("jdbc:odbc:Banco de Dados");
                usuarioText.setText("root");
                senhaDoBanco.setText("root");
            } else {
                if (listaDeBancos.getSelectedItem().equals("SQL Server")) {
                    driverText.setText("net.sourceforge.jtds.jdbc.Driver");
                    urlText.setText("jdbc:jtds:sqlserver://localhost:1433/Banco de Dados");
                    usuarioText.setText("root");
                    senhaDoBanco.setText("root");
                } else {
                    if (listaDeBancos.getSelectedItem().equals("PostGreSQL")) {
                        driverText.setText("org.postgresql.Driver");
                        urlText.setText("jdbc:postgresql://localhost/Banco de Dados");
                        usuarioText.setText("root");
                        senhaDoBanco.setText("root");
                    } else {
                        if (listaDeBancos.getSelectedItem().equals("MySQL")) {
                            driverText.setText("org.gjt.mm.mysql.Driver");
                            urlText.setText("jdbc:mysql://localhost/Banco de Dados");
                            usuarioText.setText("root");
                            senhaDoBanco.setText("root");
                        }
                    }
                }
            }
        }
    }

}

private void botaoVisualizarDadosActionPerformed(java.awt.event.ActionEvent evt) {                                                     
   lerArquivo = new GravaConfiguracaoDoBanco();

    try {

        visualizaArquivo = new ObjectInputStream(new FileInputStream(System.getProperty("user.dir") +
                File.separator + "Banco.conf"));
        try {
            lerArquivo = (GravaConfiguracaoDoBanco) visualizaArquivo.readObject();
        } catch (ClassNotFoundException ex) {
            JOptionPane.showMessageDialog(null, "Houve um erro ao ler o arquivo 1.", "Erro ao ler o arquivo.", JOptionPane.INFORMATION_MESSAGE);
        }
        visualizaArquivo.close();

        JOptionPane.showMessageDialog(null, lerArquivo.toString(), "Dados Atuais", JOptionPane.INFORMATION_MESSAGE);
    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null, "Houve um erro ao ler o arquivo.", "Erro ao ler o arquivo.", JOptionPane.INFORMATION_MESSAGE);
    }
}                                                    

private void botaoSairActionPerformed(java.awt.event.ActionEvent evt) {                                          
    System.exit(0);
}                                         

class GravaConfiguracaoDoBanco implements Serializable {

    private String banco;
    private String driver;
    private String url;
    private String usuario;
    private transient String senha;

    public String getBanco() {
        return banco;
    }

    public String getDriver() {
        return driver;
    }

    public String getUrl() {
        return url;
    }

    public String getUsuario() {
        return usuario;
    }

    public String getSenha() {
        return senha;
    }

    @Override
    public String toString() {
        return new String("Banco " + banco + "\n" +
                "Driver " + driver + "\n" +
                "URL " + url + "\n" +
                "Usuário " + usuario);
    }
}

Ola,

Ficaria mais fácil se vc disser qual a exception que está ocorrendo…

Outra, coloca o teu código postado dentro da tag “[code]”, fica mais compreensível :wink:

Ps.: torne a classe GravaConfiguracaoDoBanco publica… possivelmente este é o problema…

cara para começar coloca o codigo entre as tags “CODE” senao ngm vai enteder nada…

Porque vc em vez de gravar as configurações suas como um objeto, não grava como um xml ou um properties…fica mais fácil e ocupa menos memória

Quanto ao erro que está dando, como os colegas falaram…tenta postar as linhas de erro…pra gente ver…senão fica difícil …mas dá uma verificada também no caminho do arquivo que vc está gravando… tenta gerar um file antes de gravar e ver o path dela pra ver se está indo pro caminho que vc quer mesmo…