我目前正在为我的代码库开发一个序列化类。这是为了避免一遍又一遍地编写相同的代码。
因为这是我的代码库的一部分,所以我永远不知道我正在反序列化什么样的对象类。我想知道任何人都可以更新我的代码以使返回值成为我在方法变量中提供的那种类。希望这是有道理的:)
public static Object deserializeObject(File serializedFile) {
Object returnObject;
if (!serializedFile.exists() || !serializedFile.canRead()) {
return null;
}
try {
//use buffering
InputStream file = new FileInputStream(serializedFile);
InputStream buffer = new BufferedInputStream(file);
ObjectInput input = new ObjectInputStream(buffer);
try {
//deserialize the List
returnObject = input.readObject();
} finally {
input.close();
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
return null;
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return returnObject;
}