シリアル化されたオブジェクトに追加する入力があります。
シリアル化されたオブジェクトを読み取るときに、それが存在するかどうかを確認したい...そうでない場合は、値が含まれるまでループします。
それを処理するために逆シリアル化関数を変更するにはどうすればよいですか。
基本的に、シリアライズ可能なオブジェクトの作成に遅延があります。そのため、その間にそのオブジェクトを読み取った場合、それは空になります。データが入っている時だけ読むにチェックを入れたい。そうでない場合は、データが得られるまで待つ必要があります
public String _displayResults(){
String SomeData = "";
try {
FileInputStream fis = new FileInputStream("SomeDataobj");
ObjectInputStream ois = new ObjectInputStream(fis);
SomeData = (String)ois.readObject();
ois.close();
}
catch(Exception e) {
System.out.println("Exception during deserialization: ");
}
return SomeData;
}
私が試したこと:
10回2秒の待機条件を追加しました...もっときれいな方法はありますか。
while ( ois.readObject().toString().equalsIgnoreCase("") && i <10){
Thread.sleep(2000);
i++;
}