please ayuda (es bastante basica un minutito)

martiasb
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??
gracias



x
18 de Marzo del 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...
}

matiasb
18 de Marzo del 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... Gracias igual