java.io.StreamCorruptedException

rasape
30 de Marzo del 2006
Podeis decirme el por qué me da este tipo de excepcion el siguiente codigo?.

java.io.StreamCorruptedException

La clase Persona es serializable

import java.io.*;
import java.util.*;
public class Fichero
{

public void Guardar(Persona p)
{

try
{
FileOutputStream fos=new FileOutputStream("caca.txt",true);
ObjectOutputStream oos=new ObjectOutputStream (fos);
oos.writeObject(p);
oos.close();
}

catch(IOException io)
{
io.printStackTrace();
}
}
public void buscar()
{
Vector tabla=new Vector();
try
{
FileInputStream fis=new FileInputStream ("caca.txt");
ObjectInputStream ois=new ObjectInputStream (fis);

while(true)
{
Persona tmp=(Persona)ois.readObject();
tabla.add((Persona)tmp);

}

}
catch(IOException io)
{
io.printStackTrace();
}
catch(ClassNotFoundException io)
{
io.printStackTrace();
}
if(tabla.size()>0)
{
for(int i=0;i<tabla.size();i++)
{
System.out.println(tabla.get(i).toString());
}
}
}
}

Juanma
30 de Marzo del 2006
Pues quizás sea por el while(true) a la hora de leer (que va a estar leyendo eternamente)