如何实现对象的序列化和反序列化?
时间: 2024-03-02 17:44:43 浏览: 36
对象的序列化和反序列化可以通过Java中的Serializable接口来实现。具体步骤如下:
1. 在需要序列化的类中实现Serializable接口。
2. 创建一个ObjectOutputStream对象,将需要序列化的对象写入输出流中。
3. 创建一个ObjectInputStream对象,从输入流中读取序列化的对象。
4. 使用readObject()方法读取对象,并将其转换为需要的类型。
示例代码如下:
```java
// 实现Serializable接口的类
public class Student implements Serializable {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 省略getter和setter方法
}
// 序列化对象
Student student = new Student("Tom", 18);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("student.txt"));
oos.writeObject(student);
oos.close();
// 反序列化对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("student.txt"));
Student student = (Student) ois.readObject();
ois.close();
```