1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

[Java] Exportar para ficheiro binário.

Discussão em 'Programação' iniciada por Fork, 5 de Novembro de 2008. (Respostas: 7; Visualizações: 1433)

  1. Fork

    Fork What is folding?

    Boas,

    Ando aqui as voltas com um problema na Serialização. O que me está a acontecer é que tenho uma form com valores. Que ao sair da aplicação devem ser guardados. E ao abrir devem ser carregados. O que se passa é que os valores não são carregados de todo.

    Quer dizer os valores são carregados, mas a form não os mostra correctamente. Mostra tudo a "zeros".

    Alguém pode ajudar?

    Também gostaria de saber se é mais vantajoso fazer export para m ficheiro XML. Já agora como faço isso?

    Obrigado.
     
  2. Valdijiu

    Valdijiu Power Member

    Como estás a escrever no ficheiro?

    Os objectos com que tas a trabalhar são "Serializable" ?
     
  3. Fork

    Fork What is folding?

    Código:
    public static void Save() {
            try {
                FileOutputStream fileOut = new FileOutputStream(profile);
                ObjectOutputStream out = new ObjectOutputStream(fileOut);
                out.writeObject(accountInUse);
                out.close();
                fileOut.close();
                
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e.getMessage() + "\n The program will be terminated.", "Fatal Error", JOptionPane.ERROR_MESSAGE);
                System.exit(1);
            }
        }
    public static void Load() {
            try {
                FileInputStream fileIn = new FileInputStream(profile);
                ObjectInputStream in = new ObjectInputStream(fileIn);
                
                setAccountInUse((Account) in.readObject());
                refreshFields();
                
                in.close();
                fileIn.close();
    
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e.getMessage() + "\n The program will be terminated.", "Fatal Error", JOptionPane.ERROR_MESSAGE);
                System.exit(1);
            }
    }
     
  4. MadOnion

    MadOnion Folding Member

    Tal com o Valdijiu disse, é necessário que essa classe Account tenha uma assintura do genero:
    Código:
    public class Account implements Serializable ... {} 
    
     
  5. Fork

    Fork What is folding?

    Sim e tem. Se não não guardava os valores nem os carregava. Mas o meu problema é outro. Como dissse no 1º post mesmo que ele carregue os dados, estes (os dados) não aparecem na form.
     
  6. AliFromCairo

    AliFromCairo Power Member

    Para fazeres serialização com XML, podes utilizar as classes XMLEncoder e XMLDecoder. Tens alguns exemplos de utilização no javadoc destas classes.
     
  7. SoundSurfer

    SoundSurfer Power Member

    De certeza que os dados estão a ser carregados correctamente?

    A class tem de ser Serializable, ter um construtor vazio e as variáveis têm de ser públicas ou ter getters e setters público (isto no caso do C#, no Java deve ser igual)
     
  8. Baderous

    Baderous Banido

    Por acaso esses valores têm atributos transient ou static?
     

Partilhar esta Página