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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM