java反序列化读取文件
时间: 2023-09-14 21:11:20 浏览: 54
Java反序列化是将对象从字节流中读取出来并还原成对象的过程。在读取文件时,需要先将文件中的字节流读入到内存中,然后再进行反序列化。
以下是一个简单的Java反序列化读取文件的示例:
```java
import java.io.*;
public class DeserializeDemo {
public static void main(String [] args) {
Employee e = null;
try {
FileInputStream fileIn = new FileInputStream("employee.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) in.readObject();
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
return;
} catch (ClassNotFoundException c) {
System.out.println("Employee class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized Employee...");
System.out.println("Name: " + e.name);
System.out.println("Address: " + e.address);
System.out.println("SSN: " + e.SSN);
System.out.println("Number: " + e.number);
}
}
```
在这个示例中,我们首先创建了一个名为Employee的类,该类实现了Serializable接口。然后我们将一个Employee对象写入到文件中,这个文件名为employee.ser。
接下来,我们使用FileInputStream和ObjectInputStream类来读取文件中的字节流,然后使用readObject()方法将字节流还原为Employee对象。最后,我们打印出Employee对象的属性。
需要注意的是,在反序列化过程中,如果类的定义发生了变化,例如添加或删除了属性或方法,那么反序列化操作就可能失败。因此,在进行反序列化操作时,我们需要确保序列化和反序列化的类定义是一致的。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)