若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?


Posted in 面试题 onOctober 17, 2016
使用缺省的serializetion的实现时,一个ObjectOutputStream的构造和一个ObjectInputStream的构造必须一一对应。ObjectOutputStream的构造函数会向输出流中写入一个标识头,而ObjectInputStream会首先读入这个标识头。因此,多次以追加方式向一个文件中写入object时,该文件将会包含多个标识头。所以用ObjectInputStream来deserialize这个ObjectOutputStream时,将产生StreamCorruptedException。
一种解决方法是可以构造一个ObjectOutputStream的子类,并覆盖writeStreamHeader()方法。被覆盖后的writeStreamHeader()方法应判断是否为首次向文件中写入object?若是,则调用super.writeStreamHeader();若否,即以追加方式写入object时,则应调用ObjectOutputStream.reset()方法。

Tags in this post...

面试题 相关文章推荐
编程实现当输入某产品代码则打印出该产品记录的功能
May 03 面试题
什么是数组名
May 10 面试题
怎样在程序里获得一个空指针
Jan 24 面试题
如何在存储过程中使用Loop
Jan 05 面试题
金蝶的一道SQL笔试题
Dec 18 面试题
请解释在new与override的区别
Oct 29 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
Oct 29 面试题
进程的查看和调度分别使用什么命令
Dec 14 面试题
一套软件开发工程师笔试题
May 18 面试题
AJax面试题
Nov 25 面试题
MYSQL支持事务吗
Aug 09 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
线程问题:wait()方法是定义在哪个类里面
Jul 07 #面试题
如果重写了对象的equals()方法,需要考虑什么
Nov 02 #面试题
为什么Runtime.exec(“ls”)没有任何输出?
Oct 03 #面试题
如何从一个文件档案的尾端新增记录
Dec 02 #面试题
构造方法和其他方法的区别
Apr 26 #面试题
Java程序开发中如何应用线程
Mar 03 #面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
Jun 20 #面试题
You might like
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
angular之ng-template模板加载
2017/11/09 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
python中csv文件的若干读写方法小结
2018/07/04 Python
python实现linux下抓包并存库功能
2018/07/18 Python
python实现机器学习之多元线性回归
2018/09/06 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
董事长岗位职责
2013/11/30 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
会计应聘求职信范文
2013/12/17 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
护理见习报告范文
2014/11/03 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
小学班主任事迹材料
2014/12/17 职场文书
会计专业求职信范文
2015/03/19 职场文书
房贷工资证明范本
2015/06/12 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书