0
カスタムシリアル化をテストしようとしていますが、readObject()
メソッドが呼び出されていません。writeObjectメソッドを呼び出すことはできますが、 readObjectメソッド()をオーバーロードできますか?readObjectメソッドが呼び出されていません
public class Test {
String pwd1 ;
public static void main(String arg[]) throws IOException, ClassNotFoundException{
FileInputStream fis = new FileInputStream("//vhub.lmera.ericsson.se//home//xsinkus//WDP//Desktop2k8R2//COMP_DOCS//Test//kusha1.ser");
@SuppressWarnings("resource")
ObjectInputStream ois = new ObjectInputStream(fis);
System.out.println("I am being called ");
SerilizationTest si = (SerilizationTest)ois.readObject();
System.out.println("After called ");
System.out.println(si.name);
System.out.println(si.pwd);
//si.readObject();
}
private void readObject(ObjectInputStream ois)
throws IOException, ClassNotFoundException {
ois.defaultReadObject();
pwd1 = (String) ois.readObject();
System.out.println("I am in ");
}
}
は、「テスト」がシリアライズ可能とされていますか? – Moira
あなたは 'ObjectInputStream'のインスタンスで' readObject() 'を呼び出し、' Test'のインスタンスではないことに気付きましたか? – Thomas
@Thomas 'ObjectInputStream'は' Serializable'オブジェクトのプライベート 'readObject'メソッドを使います。 [別の関連する質問](http://stackoverflow.com/questions/12963445/serialization-readobject-writeobject-overides) – Moira