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

时间:2022-08-17 20:36:01

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

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字符串存储,反序列化同上~