序列化与反序列化


序列化:对象-->文件--ObjectOutputStream--序列化流
反序列化流:文件->
/**************************************************************************
序列化的思路:
1)需要准备序列化对象+序列化到哪里的目标文件路径
2)序列化对象所在的类必须要实现序列化接口,不实现会报错
3)创建序列化流对象OOs out=new OOS(new FIS(file/路径));
4)使用流进行对象的序列化输出out.writeObject(s);
5)关流
反序列化思路
1)前提:之前有序列化的数据,通过反序列化恢复对象
2)序列化版本号必须保持一致,不一致就报错,最好一次序列化对应一次反序列化
3)创建反序列化对象OIS in=new OIS(new FIS(FIS/路径));
4)使用反序列化流回复对象Object o=in,readObject();
5)关流in.close();
============================================
关于序列化版本号不一致报错的解决方案
1.手动添加UID指将(UID的值写死,怎么样都不会改变)可以任意序列化与反序列化
private static final long seralVersionUID=1L;
2不手动添加,自动生成,那就需要注意,每次编译都会生成以一个新UID
所以一次序列化需要对应一次反序列化,如果更改了目标类(student)类中的内容
一定要先序列化,再反序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值