我有许多对象(同一类)被序列化为一个文件。 但是,当它反序列化时,只有第一个序列化的对象被反序列化。反序列化单个文件中的多个对象
代码序列化:
public void save() {
File f = new File("vehicule.txt");
try {
if(!f.exists()) f.createNewFile();
} catch(IOException e) {
}
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f,true));
oos.writeObject(this);
} catch(IOException e) {
}
}
我认为这个问题是:
Vehicule v;
while((v = (Vehicule)ois.readObject()) != null)
是否有更好的方法来检查文件的结尾?
你能展示如何序列化对象到文件吗?看起来你正在做一个自定义的序列化过程。 –
你不会说你的问题实际上是什么,并且看到你如何捕捉并抛弃异常,你不可能说出它是什么。 – kdgregory
ObjectOutputStream不会生成文本文件。它是二进制的。 – EJP