博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.java.io.StreamCorruptedException: invalid type co
阅读量:6437 次
发布时间:2019-06-23

本文共 531 字,大约阅读时间需要 1 分钟。

hot3.png

转自:  http://www.cnblogs.com/elleniou/archive/2012/08/29/2662353.html

问题描述:

在向一个文件写入可序列化对象时,每次只想向文件的末尾添加一个可序列化的对象,于是使用了FileOutputStream(文件名,true)间接的构建了ObjectOutputStream流对象,在向外读数据的时候第一次运行的时候不会报错,在第二次就会报java.io.StreamCorruptedException: invalid type code: AC错误。

原因:

在一个文件都有一个文件的头部和文件体。由于对多次使用FileOutputStream(文件名,true)构建的ObjectOutputStream对象向同一个文件写数据,在每次些数据的时候他都会向这个文件末尾先写入header在写入你要写的对象数据,在读取的时候遇到这个在文件体中的header就会报错。导致读出时,出现streamcorrput异常。

解决办法:所以这里要判断是不是第一次写文件,若是则写入头部,否则不写入。

代码示例:

 

转载于:https://my.oschina.net/u/1537182/blog/679988

你可能感兴趣的文章
Mysql备份与还原及优化方法
查看>>
linux常用命令和选项
查看>>
sed 学习笔记(未完成)
查看>>
Eclipse保存验证JS缓慢
查看>>
2017 JMP Discovery Summit China圆满落幕
查看>>
9 Easy Steps for Successful Data Migration
查看>>
人工智能,不止于技术的革命--WOT2017全球创新技术峰会开幕
查看>>
mysql 在大型应用中的架构演变
查看>>
ibm系列文章 --> Windows 到 Linux 之旅
查看>>
linux内存占用过高原因
查看>>
全备份失败后,如何手工清除exchange日志文件,附微软KB
查看>>
java如何连接mysq之源码l讲解
查看>>
企业运维笔试考题(1)
查看>>
Mysql修改存储过程相关权限问题
查看>>
4.2权限管理
查看>>
彻底理解ThreadLocal
查看>>
AI看脸、测肤,左可美妆新零售,右能智慧医美
查看>>
MFC对话框弹出上下文菜单并响应命令
查看>>
用matplotlib获取雅虎股票数据并作图
查看>>
USB设备被识别流程【转】
查看>>