Boa Noite, senhores
Estou salvando informação de um objeto em um arquivo binario, salvando o tipo primitivo de cada objeto, ai agora eu quero recuperar essas informações, eu precisava transformar os tipos primitivos em objetos novamente, só eu não sei como faço para diferenciar os objetos, pois tem salvo mais de um tipo de objeto no arquivo.
Alguém poderia me ajudar? Ai em baixo tem um arquivo para salvar, esse método salvar recebe um objeto loja, como parametro nele tem um map de objetos armazens e dentro de cara objeto armazen tem uma lista de objetos caixas, ai consegui fazer salvar cada tipo primitivo do objeto, só não sei como eu faço para recuperar.
public void salvar(Loja loja) {
try {
//interface que converte os tipos primitivos em stream de bytes
DataOutputStream file = new DataOutputStream(new FileOutputStream(
"prova2.dat"));
Set<String> chaves = loja.getArmazens().keySet();
Iterator<String> iteChave = chaves.iterator();
while (iteChave.hasNext() == true) {
String newLine = System.getProperty("line.separator");
String local = iteChave.next();
file.writeChars(newLine);
file.writeChars("#" + local);
file.writeChars(" ");
Iterator<Caixa> itecaixa = loja.getArmazen(local).getCaixas()
.iterator();
while (itecaixa.hasNext() == true) {
Caixa caixa = itecaixa.next();
file.writeChars(" *");
file.writeUTF(caixa.getTipoChocolate());
file.writeChars(" *");
}
}
// }
file.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}