Java如何实现反序列化
时间: 2023-07-18 09:22:19 浏览: 54
Java 中,反序列化可以通过使用 ObjectInputStream 类来实现。具体步骤如下:
1. 创建一个 FileInputStream 对象,用于读取序列化对象的文件。
2. 创建一个 ObjectInputStream 对象,将 FileInputStream 对象传递给它。
3. 调用 ObjectInputStream 对象的 readObject() 方法来读取序列化对象。
4. 关闭 ObjectInputStream 和 FileInputStream 对象。
下面是一个示例代码:
```
try {
// 创建 FileInputStream 对象
FileInputStream fileIn = new FileInputStream("object.ser");
// 创建 ObjectInputStream 对象
ObjectInputStream in = new ObjectInputStream(fileIn);
// 读取序列化对象
Object obj = in.readObject();
// 关闭 ObjectInputStream 和 FileInputStream 对象
in.close();
fileIn.close();
// 将 obj 强制转换成需要的类类型
MyClass myObj = (MyClass) obj;
} catch (IOException i) {
i.printStackTrace();
} catch (ClassNotFoundException c) {
c.printStackTrace();
}
```
需要注意的是,反序列化时需要保证读取的序列化对象的类定义已经存在,否则会抛出 ClassNotFoundException 异常。