我的程序设置在退出时序列化某个Facebook对象,并在打开时反序列化。但是我希望在反序列化部分中有一个if语句,只有在存在一个serilization文件以避免错误时才继续使用它。我怎样才能做到这一点?无论如何,我可以参考文件" serilaized"并检查它是否存在?
反序列化部分:
Facebook facebook = null;
try {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
"serialized"));
facebook = (Facebook) ois.readObject();
ois.close();
} catch (FileNotFoundException e) {
System.err.println("Could not open the file \"serialized\"");
} catch (IOException e) {
System.err.println("Could not de-serialize the object");
} catch (ClassNotFoundException e) {
System.err.println("Could not cast the de-serialized object");
}
序列化部分:
try {
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream ("serialized"));
oos.writeObject(facebook);
oos.close();
} catch (FileNotFoundException e) {
System.err
.println("Could not create the file \"serialized\"");
} catch (IOException e) {
System.err.println("Could not serialize the object");
}
答案 0 :(得分:1)
FileNotFoundException
应该捕获没有文件要反序列化的情况。抛出错误很好,只要处理得很好。