vehicle から拡張するボート、車、トラックなどの 3 つのクラスがあります。このすべてのオブジェクトを、次のように vehicleOrder.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ファイルにある2つのオブジェクトを読み取りますが、その後再びdoに移動し、nullポインター例外を発生させます