若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedExcepti
使用缺省的serializetion的实现时,一个ObjectOutputStream的构造和一个ObjectInputStream的构造必须一一对应。ObjectOutputStream的构造函数会向输出流中写入一个标识头,而ObjectInputStream会首先读入这个标识头。因此,多次以追加方式向一个文件中写入object时,该文件将会包含多个标识头。所以用ObjectInputStream来deserialize这个ObjectOutputStream时,将产生StreamCorruptedException。
一种解决方法是可以构造一个ObjectOutputStream的子类,并覆盖writeStreamHeader()方法。被覆盖后的writeStreamHeader()方法应判断是否为首次向文件中写入object?若是,则调用super.writeStreamHeader();若否,即以追加方式写入object时,则应调用ObjectOutputStream.reset()方法。
一种解决方法是可以构造一个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面向连接的协议/无连接协议
8. String s = new String(“xyz”);创建了几个String Object?
10. 简述你对Statement,PreparedStatement,CallableStatement的理解
本文来源:https://www.mianshiwenti.com/a12571.html
进入下载页面
﹝若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedExcepti﹞相关内容
- 你常见到的runtime exception
- 软件测试LoadRunner面试题: Where do you set automatic correlation options?
- Exception类的常用方法
- 介绍一下except的用法和作用
- 简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
- 声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
- System.Array.CopyTo()和System.Array.Clone()有什么区别
- Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
- 软件测试LoadRunner面试题:What is the difference between standard log and extended log?
- 软件测试LoadRunner面试题:What is the difference between Overlay graph and Correlate graph?