-1
教師ArrayList
に複数のオブジェクトが格納されていますが、逆シリアル化しようとしていますが、ガベージ値が表示されます。複数のオブジェクトを持つArrayListの逆シリアル化
public void Write(){
try{
FileOutputStream fs=new FileOutputStream("S.txt");
ObjectOutputStream os=new ObjectOutputStream(fs);
os.writeObject(teachers);
os.close();
}catch(Exception e)
{System.out.println(e);}
}
public void Read(){
try
{
FileInputStream fis = new FileInputStream("E:\\Books\\OOP\\Teacher\\S.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
teachers = (ArrayList<Teacher>) ois.readObject();
for(Teacher i: teachers){
System.out.println(i.toString());
}
ois.close();
fis.close();
}catch(IOException ioe){
System.out.println("Error");
return;
}catch(ClassNotFoundException c){
System.out.println("Class not found");
return;
}
}
"ゴミ値"はどういう意味ですか? 'Teacher'クラスは' toString'をオーバーライドしていますか? – Mena
*&%#&&^$ 5 –
ファイルを直接読み込んだことはありますか? ".txt"ファイルでも、バイナリで書かれているためです。 – Mena