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