使用ObjectInputStream实现反序列化

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("序列化完毕");
    }
}

  

posted @ 2021-02-26 13:44  之樾  阅读(299)  评论(0)    收藏  举报