java.io.StreamCorruptedException
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());
}
}
}
}
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());
}
}
}
}
