对象的序列化和反序列化

java.io.objectOutputStream extends OutputStream 对象dui

objectOutputStream:对象的序列化流 作用:把对象一流的形式写入到文件中保存

构造方法:ObjectOutputSteam(OutputStream out)创建写入指定OutputStream的ObjectOutputStram

参数:OutputStream out:字节输出流

特有的成员方法·: void writeObject(Object obj)将指定的对象写入ObjectOutputStream

使用步骤

1、创建ObjectOutputStream对象,构造方法中传递字节输出流

2、使用ObjectOutputStream对象中的方法writeobject把对象写入到文件中

3、释放资源

对象的反序列化

java.io.ObjectInputStream extends InputStream

ObjectInputStream:对象的反序列化流

作用:把文件中保存的对象,一流的形式读取出来使用

构造方法:ObjectInputStream(InputStream in)创建从指定InputStream读取的ObjectInputStream

参数:InputStream in :字节输入流

特有的成员方法:object readObject()从ObjectInputStream读取对象

使用步骤1、创建objectInputStream对象构造方法中传递字节输入流

2、使用objectInputStream对象中的方法readObject读取保存对象的文件

3、释放资源

4、使用读取出来的对象

反序列化的前提

1、类必须实现seriaLizable

2、必须实现类对应的class文件

在序列化和反序列化的时候会抛出 NotSeriaLiableException没有序列化异常

类通过实现java.io.SeriaLiable接口,委实现此接口的类无法使其任何冲突序列化或反序列化

serializable接口也叫标记型接口

要进行序列化和反序列化的类必须实现Serialiable接口就会给这个类添加一个标记

当我们进行序列化和反序列化的时候就会检测类上是否有这个标记

有:就可以序列化和反序列化

无:就会抛出NotSerialiabkeException异常

static 关键字:静态关键字

静态优先于非静态加载到内存中(静态优先于对象进入到内存中)被static修饰的成员变量不能被序列化,序列化的都是对象

transient关键字:瞬态关键字 被transient修饰的创意能力不能被序列化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值