Java基础(二十九)Java IO(6)对象序列化(Object Serialization)

  参考之前整理过的Java序列化与反序列化:https://www.cnblogs.com/BigJunOba/p/9127414.html

  使用对象输入输出流可以实现对象序列化与反序列化,可以直接存取对象。

  将对象存入一个流被称为序列化,而从一个流将对象读出被称为反序列化。

  对象序列化与反序列化的过程:

  1.被序列化的对象必须实现java.io.Serializable接口,否则不能实现序列化。

public class Employee implements Serializable{
    ...
}

public class Manager extends Employee{
    ...
}

  2.创建一个对象输出流并包装一个其他类的目标输出流,如文件输出流,然后通过对象输出流写入对象。

Employee harry = new Employee("Harry Hacker", 5000, 1989, 10, 1); 
Maneger boss = new Manager("Carl Cracker", 7000, 1984, 12, 15);

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("empoyee.dat")); oos.writeObject(harry); oos.writeObject(boss);

  3.创建一个对象输入流并包装一个其他类的目标输入流,如文件输入流,然后通过对象输入流读出对象(使用强制类型转换)。

ObjectInputStream ois = new ObjectInputStream (new FileInputStream("empoyee.dat"));
Employee e1 = (Employee)ois.readObject();
Maneger e2 = (Manager)ois.readObject();

猜你喜欢

转载自www.cnblogs.com/BigJunOba/p/9416558.html