Java对象序列化与反序列化的实践案例
在Java中,对象的序列化和反序列化是通过ObjectOutputStream和ObjectInputStream这两个类实现的。
以下是一个简单的实践案例:
- 创建一个要序列化的对象:
```java
import java.io.Serializable;
class Person implements Serializable {
private String name;
private int age;
// getters and setters
}
Person person = new Person();
person.setName(“John Doe”);
person.setAge(30);
// 此处保存person对象到文件(例如:person.ser)进行序列化
2. 对已序列化的对象进行反序列化:
```java
import java.io.FileInputStream;
import java.io.ObjectInputStream;
try {
// 从文件中读取已序列化的对象
FileInputStream fis = new FileInputStream("person.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
// 将反序列化的对象赋值给Person类的实例
Person personDeserialized = (Person) ois.readObject();
// 打印反序列化后的对象信息
System.out.println("Deserialized Person:");
System.out.println(personDeserialized.getName() + " - " + personDeserialized.getAge()));
} catch (Exception e) {
e.printStackTrace();
}
这个案例中,我们创建了一个Person类的对象,并对其进行序列化保存到文件。然后,我们在另一个地方用ObjectInputStream反序列化这个对象并打印信息。
还没有评论,来说两句吧...