バイナリファイルから画面にクラスオブジェクトの配列を読み取るのに問題があります。これまでのところ、ファイルに46個の個別のオブジェクトがありますが、最初のオブジェクトしか読み取ることができませんでした。コードは次のとおりです。
private void readBinaryFile()
{
ObjectInputStream ois = null;
Person[] personData = null;
try
{
ois = new ObjectInputStream(new FileInputStream(FILE));
personData = (Person[]) ois.readObject();
for(Person p : personData)
{
System.out.println(p.getName() +
"\t" + p.getRanking() +
"\t " + p.getIDNumber());
}
ois.close();
}
catch (FileNotFoundException e) {}
catch (IOException e) {}
catch (ClassNotFoundException e) {}
}
コードはコンパイルされますが、メソッドを呼び出すと次のエラーが発生します。
java.lang.ClassCastException: Person cannot be cast to [LPerson;