在序列化写入对象的时候没有任何的问题!但是在读入的时候发生StreamCorruptedException,我是在一个文件中保存多个对象,为什么会发生这种错误呢?
我查了资料,它说:可以构造一个 ObjectOutputStream的子类,并覆盖writeStreamHeader()方法.被覆盖后的writeStreamHeader()方法应判断是否为首次向文件中写入object,如果是?则调用super.writeStreamHeader();若否,即以追加方式写入object时, 则应调用ObjectOutputStream.reset()方法. 但是怎么来写这个方法呢
我查了资料,它说:可以构造一个 ObjectOutputStream的子类,并覆盖writeStreamHeader()方法.被覆盖后的writeStreamHeader()方法应判断是否为首次向文件中写入object,如果是?则调用super.writeStreamHeader();若否,即以追加方式写入object时, 则应调用ObjectOutputStream.reset()方法. 但是怎么来写这个方法呢
这个也要重写吗?
import java.io.IOException;
import java.io.ObjectOutputStream;public class MyObjectOutputStream extends ObjectOutputStream{
public MyObjectOutputStream(FileOutputStream fout) throws IOException{
super(fout);
}
public void writeStreamHeader(){
try {
this.reset();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
希望对你有帮助
这样就好了