Java 无效的流标头:2C6D0005-StreamCorruptedException
我从servlet应用程序下载了一个序列化的Java对象。当我尝试用Java代码打开它时,我得到: java.io.StreamCorruptedException:无效的流头:2C6D0005 我在互联网上搜索,找不到任何代码2C6D0005的参考 这是什么原因造成的Java 无效的流标头:2C6D0005-StreamCorruptedException,java,servlets,browser,Java,Servlets,Browser,我从servlet应用程序下载了一个序列化的Java对象。当我尝试用Java代码打开它时,我得到: java.io.StreamCorruptedException:无效的流头:2C6D0005 我在互联网上搜索,找不到任何代码2C6D0005的参考 这是什么原因造成的 请注意,我使用这个servlet应用程序下载了许多其他序列化对象,以前没有见过这个问题 这不是一个错误代码。它是您认为是序列化数据的文件的前4个字节,但不是 字节应为AC ED 00 05,其中前两个字节为“magic”,而00
请注意,我使用这个servlet应用程序下载了许多其他序列化对象,以前没有见过这个问题 这不是一个错误代码。它是您认为是序列化数据的文件的前4个字节,但不是 字节应为
AC ED 00 05
,其中前两个字节为“magic”,而00 05
为版本
有关文件格式和其他信息,以及是否仍不清楚,请参阅
编辑:
好吧,既然我得下班了,我就不必再让你担心了。在某些地方,有人没有正确读取字节。如果清除
AC
和ED
的高位,则会得到<代码>2C和6D
。您应该与编写相关代码的人交谈,然后修复它。2C6D0005是我下载的序列化文件的前4个字节吗?而且应该一直是ACED005?你为什么问我?我没有文件。在十六进制编辑器中打开了我的文件。前4个字节为AC ED 20 05
。是什么原因造成的呢?如果文件系统上的文件是正确的,但程序中的文件被破坏了,那通常是程序员的错。我的前4个字节是AC ED 20 05
。这是否意味着腐败?因为它应该是AC ED 00 05
。为什么错误会显示“无效流头:2C6D0005”?