Hola a todos mi asuntoes que quiero manejar objetos en un archivo, mi problema es que tengo una clase Persona que encapsula los datos de la persona e implementa la interfaz serializable
public class Persona implements Serializable {
private String dni;
private String nombre;
private String tel;
/* public void setDNI(String s)
{
dni = s;
}*/
public String getDNI()
{
return dni;
}
public String getNombre()
{
return nombre;
}
public String getTel()
{
return tel;
}
/** Creates a new instance of Persona */
public Persona(String s, String ss, String sss) {
dni = s;
nombre = ss;
tel = sss;
}
}
y despues quiero iterar con los datos con una clase llamada agenda:
public class Agenda {
private Persona p;
private Persona result;
private Hashtable<String,Persona> arr;
private Object o = new Hashtable();
private FileInputStream fi;
private ObjectInputStream oi;
Enumeration itera;
public boolean agregar(String dni, String nom, String tel)
{
p = new Persona(dni,nom,tel);
// p.setDNI(dni);
if(arr.containsKey(p.getDNI()))
return false;
else
{
arr.put(p.getDNI(),p);
return true;
}
}
public Agenda() throws FileNotFoundException,IOException, ClassNotFoundException {
fi = new FileInputStream("C:\\Documents and Settings\\Administrador\\Mis documentos\\cuatrimestre 14\\Agenda.txt");
oi = new ObjectInputStream(fi);
arr = (Hashtable) oi.readObject();
fi.close();
//catch (EOFException e)
//{
//}
}
pero al correrlo me marca un error de ClassCastException en tiempo de ejecucion al tratar de asignar a Hashtable arr = oi.readObject(); y no se que hacer si alguien me podria ayudar lo agradeceria