java面试题

当前位置: 面试问题网 > java面试题 > 若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedExcepti

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

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

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

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

2. 软件测试LoadRunner面试题:If you want to stop the execution of your script on error, how do you do that?

3. 软件测试LoadRunner面试题:What is correlation? Explain the difference between automatic correlation and manu

4. .TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)

5. 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数

6. 什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议

7. error和exception有什么区别

8. String s = new String(“xyz”);创建了几个String Object?

9. 文件中有一组整数,要求排序后输出到另一个文件中

10. 简述你对Statement,PreparedStatement,CallableStatement的理解

本文来源:https://www.mianshiwenti.com/a12571.html

点击展开全部

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

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面
上一篇:新锐科技Java程序员面试题 下一篇:是否可以从一个static方法内部发出对非static方法的调用?

﹝若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedExcepti﹞相关内容

复制网址 收藏网址 分享到微信 分享到微博 分享到QQ

其它栏目

软件工程师面试题 软件测试面试题 网络管理员面试题 java面试题 .NET面试题 PHP面试题 C#面试题 C++面试题 Delphi面试题 Ruby面试题 Python面试题 Javascript面试题 android面试题 iOS面试题 jQuery面试题 Linux/Unix面试题 DBA面试题

也许您还喜欢