A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 段波 黑马帝   /  2011-12-3 19:58  /  2891 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 段波 于 2011-12-4 19:05 编辑

昨天复习了一下IO,今天回家做了几个小实验,在用到ObjectOutputStream向一个文件多次追加object,为什么用ObjectInputStream读取时会出现StreamcorruptedException呢?谢谢!

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1 加油!

查看全部评分

4 个回复

倒序浏览
最好一个object单独写入一个文件。
回复 使用道具 举报
许邦存 来自手机 黑马帝 2011-12-3 20:48:50
藤椅
不太懂额,等答案。
回复 使用道具 举报
当从对象流中读取的控制信息与内部一致性检查相冲突时,抛出此异常.
楼主您可以检测下您的写入和读取的顺序是否一样,
写入时候类的属性方法和读取时候类的属性方法,可能导致的不一致。

主要是在信息不一致抛出的错误。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
一个ObjectOutputStream的构造和一个ObjectInputStream的构造必须一一对应。ObjectOutputStream的构造函数会向输出流中写入一个标识头,而ObjectInputStream会首先读入这个标识头。因此,多次以追加方式向一个文件中写入object时,该文件将会包含多个标识头。在运行过程中将产生StreamCorruptedException。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马