2020 11.28曾宇欣
知识点:
序列化
一.什么是序列化
- 序列化:将对象写入到IO流种
- 反序列化:从IO流中恢复对象
- 意义:序列化机制允许将实现序列化的Java对象转换为字节序列,这些字节序列可以保存在硬盘上,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在
- 使用场景:所有可在网络上传输的对象都必须是可序列化的,传入的参数或者返回的对象都是可序列化的,否则会出错。所有需要保存在硬盘上的Java对象都必须是可序列化的。程序创建的每个JavaBean类都实现序列化接口。
二.序列化实现的方式
如果需要将某个对象保存到磁盘上或者通过网络传输,那么这个类就应该实现Serializable接口或者Externalizable接口
1.Serializable
1.1 普通序列化
Serializable接口是一个标记接口,不用实现任何方法,一旦实现了此接口,该类的对象就是可序列化的。
1.1.1序列化
public class Test01 implements Serializable{
private String name;
private int age;
public Test01(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return "Test01(" + "name = " + name + "age = " + age + ")" ;
}
}
public class WriteObject11 {
public static void main(String[] args) {
try (// 创建一个ObjectOutputStream输出流
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.txt"))) {
// 将对象序列化到文件s
Test01 person = new Test01("9龙", 23);
oos.writeObject(person);
} catch (Exception e) {
e.printStackTrace();
}
}
}
点赞
评论留言