Galera, teoricamente o meu programa consegue salvar em arquivo, porém quando mando carregar esses dados apresenta o seguinte erro: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Lmodel.Cliente;
O meu código é esse (vou tirar algumas partes que não tem a ver com isso).
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import model.Cliente;
public class ClienteRepository {
protected List<Cliente> clientes;
public ClienteRepository(){
clientes = new ArrayList<>();
}
public void persistAll(){
try{
FileOutputStream arquivoOut = new FileOutputStream(“clientesLista.dat”);
ObjectOutputStream out = new ObjectOutputStream(arquivoOut);
out.writeObject(clientes.toArray());
System.out.println(“Clientes Salvos.”);
}
catch(IOException e){
System.out.println(“Falha ao Salvar.”);
}
}
public void loadAll(){
try{
FileInputStream arquivoIn = new FileInputStream("clientesLista.dat");
ObjectInputStream in = new ObjectInputStream(arquivoIn);
Cliente[] loader = (Cliente[])in.readObject();
clientes.addAll(Arrays.asList(loader));
}
catch(Exception ex){
System.out.println("Erro ao gravar.");
System.out.println(ex);
}
}
}
Ah, eu ja fiz a implementação da interface Serializable na minha classe Cliente.