好的,所以我有一个抽象的“动物”类,带有子类“狗”和“鸟”我需要编写一个程序来从二进制文件中读取未知数量的动物对象。
public static void main(String[] args) throws FileNotFoundException {
readAnimals("birdsAndDogs.dat");
}
public static List<Animal> readAnimals(String filename) {
List<Animal> animals = new ArrayList<Animal>();
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(new FileInputStream(filename));
try {
while (true) {
Animal a =(Animal) ois.readObject();
if (a instanceof Animal)
animals.add((Animal)a);
System.out.println(a);
}
}
catch (EOFException eof) {
ois.close();
ois = null;
return animals;
}
}
catch (Exception e) {
return null;
}
}
}
这是我第一次尝试读取二进制文件,所以放轻松,我不确定代码可能很混乱,但我的主要问题是我不断收到 FileNotFoundExeption,但文件位于相同的包和位置,任何想法?
它的代码本身结构是否正确?
感谢您的任何帮助