如何识别3个对象以从文件中读取数据Java

问题描述

我想从3个对象中读取所有保留在同一Arraylist中的所有数据。例如,我有3个类,分别是Vehicle,Taxi,car。出租车,汽车类别是从继承的Vehicle继承的。称为Vehiclelist的Arraylist包含出租车,汽车,车辆。当我将对象写入文件时,它们具有不同的属性。这是我的车辆文件

AAA232,23,TM,GG,222,123
ABC234,TA,ga,123,ATC
LMC232,TC,123

问题是当我从Vehicle.txt将它们读回到Arraylist时。计算机如何才能知道哪个属于汽车或出租车,并且如果汽车具有7个属性,而出租车仅具有6个属性,我该如何解决。这是我的代码,以读取文件

   static void readVehicleFile() {
        try {
            File f = new File("Vehicle.txt");
            Scanner SCF = new Scanner(f);

            while (SCF.hasNext()) {
                String record = SCF.nextLine();
                Scanner SCR = new Scanner(record);
                SCR.useDelimiter(",");

                String plateNum,model,make;
                int capacity,year,ownerID;

                plateNum = SCR.next();
                capacity = SCR.nextInt();
                make = SCR.next();
                model = SCR.next();
                year=SCR.nextInt();
                ownerID=SCR.nextInt();


                Vehicle vehicle = new Vehicle(plateNum,capacity,make,ownerID);
                vehicleList.add(vehicle);
            }
            SCF.close();
        } catch (FileNotFoundException e) {
            JOptionPane.showMessageDialog(null,"There is a error when saving file","Motor Vehicle Registration System",JOptionPane.ERROR_MESSAGE);

        }
    }  

如您所见,它们都是由车辆而不是汽车或出租车读取的,因为如果我使用汽车对象,那么车辆将无法运行,因为车辆只有6个属性。有什么解决办法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)