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á.