ObjectInputStream_报错问题

来源:互联网 发布:齐天大圣网络大电影 编辑:程序博客网 时间:2024/06/07 02:12

报错:
Exception in thread “main” java.io.StreamCorruptedException: invalid stream header: CEAAC8CB

当创建一个ObjectInputStream对象时,会去读取标志头。因此当发送端创建一个ObjectOutputStream对象时,客户端就需要创建一个新的ObjectOutputStream对象去读取数据。其一般写法都是在while(true)循环中进行new操作,这样才保证每次发送接收端的对象都是新创建的,不会出现流异常错误。

原因:序列化操作的顺序必须是先序列化在反序列化。我的九幽思维实在在程序中先读再写,即先反序列化,在序列化。即使文件中有内容,但是文件内容是对象并没有序列化处理为二进制流,所以不能直接反序列化,然后报错了。