有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无效流标头:2C6D0005 StreamCorruptedException

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

java.io.StreamCorruptedException: invalid stream header: 2C6D0005

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

这是什么原因造成的

请注意,我使用这个servlet应用程序下载了许多其他序列化对象,以前没有见过这个问题


共 (1) 个答案

  1. # 1 楼答案

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

    字节应该是AC ED 00 05,其中前两个字节是“magic”,而00 05是版本

    有关文件格式和其他信息,请参见Java Serialization Algorithm Revealed,如果仍不清楚,请参见The Specification

    编辑:

    好吧,既然我得下班了,我就不必再让你担心了。在某些地方,有人没有正确读取字节。如果你清除ACED的高位,你会得到2C6D。你应该和编写相关代码的人谈谈,然后修复它