我有三个班级,如船,汽车,卡车等,他们从车辆延伸,我写了这个文件的所有对象说carOrder.dat像这样:
fout = new FileOutputStream("VehicleOrders.dat");
oos = new ObjectOutputStream(fout);
oos.writeObject(v); //where v is object of boat,truck car etc
直到它的好处,它写道,但是当我尝试读取这样的dat文件时,
fin = new FileInputStream("VehicleOrders.dat");
ois = new ObjectInputStream(fin);
vehicle readInstance=null;
do{
readInstance = (vehicle)ois.readObject();
if(readInstance != null)
{
orderList.add(readInstance);
}
}
while (readInstance != null);
它读取dat文件中的两个对象,但之后再次执行do并给出空指针异常
答案 0 :(得分:1)
您的类似乎没有0-param-Constructor。 也许这link会帮助您解释
答案 1 :(得分:0)
ObjectInputStream
期望为您尝试反序列化的类实例显示一个可见的无参数构造函数。我认为你的班级没有。添加一个。