IO流三基础知识

对象序列化

1、什么是对象序列化?

​ 对象序列化就是把 对象 数据存入到文件中去 内存→磁盘

2、对象序列化用到哪个流

​ 对象字节输出流ObjectOutputStream

public void writeObject(Object obj)

3、序列化对象的实现要求

​ 对象必须实例化接口

public class Student  implements Serializable{}

例子

  public static void main(String[] args) throws Exception {
        // 1、创建学生对象
        Student s = new Student("张三","zhangsan","123");

        // 2、对象序列化:使用对象字节输出流包装字节输出流管道
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("io-app/src/csb.txt"));

        // 3、将对象数据存到指定的文件内
        oos.writeObject(s);
        oos.close();

对象反序列化

1、什么是对象反序列化

​ 以内存为基准,把存储到磁盘文件中去的对象数据 恢复成内存中的对象 磁盘→内存

2、对象反序列化用到哪个流

​ 对象字节输入流ObjectOutputStream

3、序列化对象的实现要求

​ 对象必须实例化接口

public class Student  implements Serializable{}

例子

public static void main(String[] args) throws Exception {
        // 创建一个字节输入流连通到内存
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("io-app\\src\\csb.txt"));

        // 将 学生对象读出,存到学生对象中         (调用对象字节输入流的反序列化方法)
        Student s2 = (Student) ois.readObject();

        System.out.println(s2);
    }

如果不想序列出密码,则在private 后面 透明化此属性

private transient String password;

序列化要申明序列化的版本号码

序列化与反序列化的版本号必须一致才不会出错

private static final long serialVersionUID = 1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值