package com.sean.base.streamStudy;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
/**
*使用ObjectOutputStream实现对象的序列化
* 注意事项:
* (1)序列化的类必须实现Serializable接口
* (2)序列化类中对象属性要求实现Serializable接口
* (3)序列化版本号ID,保证序列化的类和反序列化的类是同一个类
* (4)使用transient修饰属性,这个属性不能序列化
* (5)静态属性不能序列化
* (6)序列化多个对象,可以借助集合实现
* @create 2021-02-26 13:32
*/
public class Demo06 {
public static void main(String[] args)throws Exception {
//1创建对象流
FileOutputStream fos = new FileOutputStream("d:\\stu.bin");
ObjectOutputStream oos = new ObjectOutputStream(fos);
//2序列化(写入操作)
Student s1 = new Student("张三",29);
Student s2 = new Student("罗斯",23);
ArrayList<Student> list=new ArrayList<>();
list.add(s1);
list.add(s2);
oos.writeObject(list);
//3关闭
oos.close();
System.out.println("序列化完毕");
}
}