无效的流标题:2C6D0005 - StreamCorruptedException

时间:2015-10-28 14:28:07

标签: java servlets browser

我从servlet应用程序下载了一个序列化的Java对象。当我尝试用Java代码打开它时,我得到:

  

java.io.StreamCorruptedException:无效的流标题:2C6D0005

我搜索了互联网,找不到任何代码 2C6D0005 的参考。

是什么导致这种情况?

请注意,我已经使用此servlet应用程序下载了许多其他序列化对象,之前没有看到过这个问题。

1 个答案:

答案 0 :(得分:2)

这不是错误代码。它是您认为是序列化数据的文件的前4个字节,但不是。

字节应为AC ED 00 05,前两个字节为“magic”,00 05为版本。

请参阅Java Serialization Algorithm Revealed了解文件格式以及其他信息,如果某些内容仍不明确,请参阅The Specification

编辑:

好吧,因为我必须离开工作,所以我会免除你的悬念。在某个地方,某人没有正确读取字节。如果您清除ACED的高位,则会得到..... 2C6D。您应该与编写相关代码的人员交谈,然后进行修复。