Arquivos Binários

0 respostas
Dan_Pimentel

Estou fazendo um trabalho onde preciso implementar opções de salvar e carregar os dados.

Os dados que preciso salvar estão nessa classe:

public class Gerenciador implements Serializable{
    
    private static final Gerenciador _instance = new Gerenciador();
    
    public static ArrayList<Usuario> _users;
    public static ArrayList<Anuncio> _ads;

    private Gerenciador() {
        _users = new ArrayList<>();
        _ads = new ArrayList<>();
    }
    
    public void AddUser(Usuario u){
        _users.add(u);
    }
    
    public void AddAd(Anuncio a){
        _ads.add(a);
    }

    public static Gerenciador getInstance() {
      return _instance;
    }  
}

Tentei usar estes códigos para salvar e carregar, mas não funcionaram.
Salvar:

try { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("shopDB.jvs")); out.writeObject(_gm);//_gm é o objeto do tipo Gerenciador out.close(); JOptionPane.showMessageDialog(this, "Arquivos salvos!", "OK", JOptionPane.INFORMATION_MESSAGE); } catch (IOException ex) { System.out.println("ERRO1!" + ex); }

Carregar:

JFileChooser chooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter("Arquivos jvs", "jvs"); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION) { String file = chooser.getSelectedFile().getName(); ObjectInputStream in; try { in = new ObjectInputStream(new FileInputStream(file)); _gm = (Gerenciador)in.readObject(); JOptionPane.showMessageDialog(this, "Arquivos carregados!", "OK", JOptionPane.INFORMATION_MESSAGE); } catch (IOException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } }

Ele gera um arquivo, mas quando leio, ele não grava os dados nas estruturas. Se alguem puder me ajudar. Grato desde já.

Criado 30 de junho de 2014
Respostas 0
Participantes 1