12345678910111213141516171819202122 |
- 对象序列化---对象持久化
- 就是把对象保存到磁盘,或在网络中进行传输
- 这种机制就是使用一个字节序列来表示对象,这个字节序列包括:对象的类型,对象的数据、对象中存储的属性信息
- 字节序列写到文件之后,就相当于在文件中持久保存了一个对象的信息。
- 相反的,这个字节序列也可以从文件中读取回来,重构对象,进行反序列化
- ObjectOutputStream 把对象进行持久化保存
- ObjectInputStream 把对象进行反序列化
- 它们也是处理流,处理的是基础流。
- 注意:
- 所有要进行序列化的类,都必须要实现一个接口 Serializable接口。
- 并且建议在要序列化的类中,添加一个成员变量,该变量使用private static final 修饰:
- private static final long serialVersionUID=42L;
- - 案例需求
- 创建多个学生类对象写到文件中,再次读取到内存中
- - 实现步骤
- - 创建序列化流对象
- - 创建多个学生对象(序列化多个对象,不建议直接把多个对象序列化到同一文件中,建议使用集合)
- - 将学生对象添加到集合中
- - 将集合对象序列化到文件中
- - 创建反序列化流对象
- - 将文件中的对象数据,读取到内存中
|