わかりましたので、サブクラス「犬」と「鳥」で抽象化された「動物」クラスがあります。バイナリファイルから不明な数の動物オブジェクトを読み取るプログラムを作成する必要があります。
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 が発生し続けることですが、ファイルは同じパッケージと場所にあります。アイデア?
また、それ自体が正しく構造化されたコードですか?
助けてくれてありがとう