java——解决java.io.StreamCorruptedException: invalid stream header: xxx

这个错误是由序列化引起的,可能的原因以及解决方法:

1.kryo对于集合(比如 Map)的反序列化会失效,报这个错误,解决办法比较暴力,不用kryo了,直接用java原生方法。

2.使用Java原生方法要注意,序列化和反序列化的方式,不能直接使用str.getBytes()获取二进制流,应该使用序列化方式获取二进制流:

https://blog.csdn.net/weixin_33881050/article/details/87100661

3.对于Map仍然序列化失败,这时候可以将Map对象转换成json字符串来存储,反序列化也是需要将字符串再转成map : JSONObject.toJSONString(jsonResult)

4.如果还不行,那就将map转成json对象,再把json对象转成json字符串存储,反序列化同上~

原文地址:https://www.cnblogs.com/gaoquanquan/p/11276114.html

时间: 2024-10-22 05:39:40

java——解决java.io.StreamCorruptedException: invalid stream header: xxx的相关文章

invalid stream header: 31323334

记录一下,都配置好了之后,用java客户端设置key-value,在服务器get没有问题,然后再服务器端设置一个key-value,java客户端获取出错 转载一下网上同样问题的描述,以及解决方案 严重: ++++ exception thrown while trying to get object from cache for key: test12013-6-26 23:18:37 com.schooner.MemCached.AscIIClient get严重: invalid stre

【Java】对象序列化中出现的java.io.StreamCorruptedException异常

今天在试验对象序列化,看到在类继承了Serializable接口,还有两个函数会在对象序列化及反序列化时默认自动执行,分别是writeObject和readObject. 进行了简单的试验,发现在在程序执行过程中出现了下述异常: java.io.StreamCorruptedException: invalid type code: 00 at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1520) at java

严重: Error in dependencyCheck java.io.IOException: invalid header field(tomcat启动成功可是訪问web项目404错误)

tomcat启动的时候出现 严重: Error in dependencyCheck java.io.IOException: invalid header field 而且tomcat也不自己主动reload 然后訪问在eclipse里面訪问web页面出现404,原来web程序一直没有被load进tomcat里面 原因:WebContent > META-INF > MANIFEST.MF文件不是多了几个空行就是多了几个空格,导致出现IO错误 解决的方法去掉空格和空行 重新启动tomcat

java.io.IOException: invalid header field

通过本文, 我们明白了什么是 jar的清单文件 MANIFEST.MF, 简单示例: E:\ws\Test\WEB-INF\classes>jar cvfm testCL.jar ListTest.class java.io.IOException: invalid header field at java.util.jar.Attributes.read(Attributes.java:406) at java.util.jar.Manifest.read(Manifest.java:199)

java打包遇到问题java.io.IOException: invalid header field

问题:java打包时报以下错误 $ jar -cvmf main.txt test.jar Shufile1.class java.io.IOException: invalid header field at java.util.jar.Attributes.read(Attributes.java:410) at java.util.jar.Manifest.read(Manifest.java:199) at java.util.jar.Manifest.<init>(Manifest.

启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)

报错信息大致如下所示: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303) at org.apache.catalina.startup.Bootstrap.main(Bootstr

invalid LOC header (bad signature)错误与 java.lang.ClassFormatError: com/mysql/jdbc错误

1,报错信息如下: SEVERE: Resource read error: Could not load org.springframework.jmx.support.MetricType. java.util.zip.ZipException: invalid LOC header (bad signature) <span style="white-space:pre"> </span>at java.util.zip.ZipFile.read(Nati

java.util.zip.ZipException: invalid LOC header (bad signature)

1:部署好项目,启动tomcat出现如下所示的错误,百度方法,挺多的,但是好像并没有解决我的问题,问题如下所示: 1 java.util.zip.ZipException: invalid LOC header (bad signature) 2 at java.util.zip.ZipFile.read(Native Method) 3 at java.util.zip.ZipFile.access$1400(Unknown Source) 4 at java.util.zip.ZipFile

解决weblogic错误:java.sql.SQLRecoverableException: IO Error: Broken pipe

首先说一下系统基础架构: 服务器:weblogic11g集群 数据库:oracle数据库Rac 出错信息: 1.java.sql.SQLRecoverableException: Closed Connection 2.Test "SELECT 1 FROM DUAL" set up for pool "mds-soa" failed with exception: "java.sql.SQLRecoverableException: IO Error: