Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/11/2012, 07:52
Hendrix_Lorquino
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 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....