我从servlet应用程序下载了一个序列化的Java对象。当我试图用Java代码打开它时,我得到:
java.io.StreamCorruptedException:无效流头: 2C6D0005
我在网上搜索,没有找到任何有关代码2C6D0005的参考资料。
是什么导致的?
请注意,我使用这个servlet应用程序下载了许多其他序列化对象,以前从未见过这个问题。
发布于 2015-10-28 14:30:47
这不是错误代码。它是您认为是序列化数据的文件的前4个字节,但不是。
字节应该是AC ED 00 05,其中前两个字节是“魔术”,而00 05是版本。
有关文件格式以及其他信息,请参见Java序列化算法揭示,如果还不清楚,请参见规格。
编辑:
好吧,因为我得下班了,所以我可以省去你的悬念。在某个地方,有人没有正确地读取字节。如果你清除了高的AC和ED,你得到.2C和6D.您应该与编写相关代码的人交谈,然后修复它。
https://stackoverflow.com/questions/33393749
复制相似问题