-2

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ポインター例外を発生させます

4

2 に答える 2