Student对象
实体类需要继承Serializable接口,作为标记
package com.xuliehua;
import java.io.Serializable;
public class Student implements Serializable {
private int id ;
private String name;
private String sex;
public Student(int id, String name, String sex) {
this.id = id;
this.name = name;
this.sex = sex;
}
public Student() {
}
@Override
public String toString() {
return "student{" +
"id=" + id +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
实现对象序列化
public static void SerializeStudent() throws IOException {
Student student = new Student(1,"小明","男");
File file = new File("d:/student.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(student);
System.out.println("student对象序列化成功");
objectOutputStream.close();
}
实现对象反序列化
public static Student DeserializeStudent() throws IOException, ClassNotFoundException {
File file = new File("d:/student.txt");
FileInputStream fileInputStream = new FileInputStream(file);
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Student student = (Student) objectInputStream.readObject();
System.out.println("student对象反序列化成功");
objectInputStream.close();
return student;
}
主程序
public static void main(String[] args) throws IOException, ClassNotFoundException {
SerializeStudent();//对象序列化
Student student = DeserializeStudent();//对象反序列化
System.out.println(student);
}