java无效流标头:2C6D0005 StreamCorruptedException
我从servlet应用程序下载了一个序列化的Java对象。当我尝试用Java代码打开它时,我得到:
java.io.StreamCorruptedException: invalid stream header: 2C6D0005
我在互联网上搜索,找不到任何代码2C6D0005的参考
这是什么原因造成的
请注意,我使用这个servlet应用程序下载了许多其他序列化对象,以前没有见过这个问题
你可以在下面搜索框中键入要查询的问题!
我从servlet应用程序下载了一个序列化的Java对象。当我尝试用Java代码打开它时,我得到:
java.io.StreamCorruptedException: invalid stream header: 2C6D0005
我在互联网上搜索,找不到任何代码2C6D0005的参考
这是什么原因造成的
请注意,我使用这个servlet应用程序下载了许多其他序列化对象,以前没有见过这个问题
# 1 楼答案
这不是一个错误代码。它是你认为是序列化数据的文件的前4个字节,但不是
字节应该是
AC ED 00 05
,其中前两个字节是“magic”,而00 05
是版本有关文件格式和其他信息,请参见Java Serialization Algorithm Revealed,如果仍不清楚,请参见The Specification
编辑:
好吧,既然我得下班了,我就不必再让你担心了。在某些地方,有人没有正确读取字节。如果你清除
AC
和ED
的高位,你会得到2C
和6D
。你应该和编写相关代码的人谈谈,然后修复它