please ayuda es muy basica

matiasb
18 de Marzo del 2006
Hola, mi duda que es como deserializar muchos objetos, ya que con lo que hice siempre deserializa al primer objeto gurdado en el archivo.

//este es mi metodo para deserializar
public clientes deserializar(String archivo) throws IOException, ClassNotFoundException{
FileInputStream arch = new FileInputStream(archivo);
ObjectInputStream entrada = new ObjectInputStream(arch);
return ((clientes)entrada.readObject());
}

//... y lo llamo asi:
clientes cliente=new clientes(0,"",0);
cliente = cliente.deserializar(archivo);

//pasa q por mas que lo vuelva a llamar 5 veces para luego mostrarlo siempre me carga al primer objeto del archivo y estaria mostrando siempre al mismo objeto,
y yo quiero mostrar a todos... Como hago??


ya intente lo siguiente pero no dio resultado:

Re: please ayuda (es bastante basica un minutito)
Enviado por x el día 18 de marzo de 2006
para leer todos tienes que hacer un ciclo hasta q no puedas leer mas, algo asi:

Object obj = null;

while ( ( obj = entrada.readObject() ) != null )
{
clientes c = (clientes) obj;
// lo q quieras hacer luego...
}


Responder
Re: Re: please ayuda (es bastante basica un minutito)
Enviado por matiasb el día 18 de marzo de 2006
mira si hago eso me tira un StreamCorruptedException
y si capturo la exception de esta forma:
while ( sigo ){
try{
obj =entrada.readObject();
// lo que quiero hacer luego
}catch(StreamCorruptedException eo){sigo=false;}
}

igual sigo leyendo solo al primer objeto q serialize, ya que entra una sola vez al try...

Por favor sigo escuchando consejos, ya que lei libros donde dice q la clase a serializar debe tener los metodos para ello, bla, bla, bla y no me sale...
estoy desesperando con este tema
Gracias