Java - manejo de objetos desde un archivo

 
Vista:

manejo de objetos desde un archivo

Publicado por Alejandro (2 intervenciones) el 25/03/2008 18:36:00
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:manejo de objetos desde un archivo

Publicado por Alber (2 intervenciones) el 25/03/2008 19:12:49
Hola. Date cuenta de que arr es un Hashtable<String,Persona> y de que oi.readObject() es Hashtable. Yo probaria poniendo:
arr = (Hashtable<String,Persona>) oi.readObject();
O private Hashtable arr;
Quiza mejor la primera, que asi restringes el hashtable a lo que tu quieres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de objetos desde un archivo

Publicado por Alejandro (2 intervenciones) el 04/04/2008 05:39:48
gracias pero no era eso, ya lo arregle solo tenia que serializar el Hashtable tambien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar