
15/11/2012, 07:52
|
| | Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 9 meses Puntos: 0 | |
Problemas con ObjectInputStream y ObjectOutputStream.. Hola a todos,
Gracias de antemano. Estoy haciendo una práctica en la que tengo que utilizar ObjectInputStream y ObjectOutputStream para hacer serialización. Sólo tengo que leer un objeto.
He leido mucho en Internet a cerca de la problemática de estas clases y aconsejan hacer tu propia ObjectOutputStream, porque la dichosa clase te añade una cabezera al hacer writeObject() y el ObjectInputStream al intentar leerlo y encontrar la cabezera dá un error.
Bien; he creado mi propia clase ObjectOutputStream.
public class MiObjectOutputStream extends ObjectOutputStream{
/** Constructor que recibe OutputStream */
public MiObjectOutputStream(OutputStream out) throws IOException
{
super(out);
}
/** Constructor sin parámetros */
protected MiObjectOutputStream() throws IOException, SecurityException
{
super();
}
/** Redefinición del método de escribir la cabecera para que no haga nada. */
protected void writeStreamHeader() throws IOException
{
//Nada
}
}
Pero al intentar leer me da el mismo problema en per=(Persona)datos.readObject();
public static void main(String[] args) throws IOException {
try {
// TODO code application logic here
Persona per = new Persona();
VentanaPersona vp = new VentanaPersona("Datos de la persona",300, 150, 800, 500);
ObjectInputStream datos = new ObjectInputStream(new FileInputStream("Persona.dat"));
per =(Persona)datos.readObject();
vp.tfnombre.setText(per.getNombre());
} catch (ClassNotFoundException ex) {
Logger.getLogger(Practica4.class.getName()).log(Le vel.SEVERE, null, ex);
}
}
Lo que quiero es mostrar el contenido de cada objeto que está amacenado en un fichero en un TexField, pero no hay manera,cualquier ayuda lo agradeceré enormemente.... |