我打算使用序列化来保存用户修改的Bean——存储历史记录。但是ByteArrayOutputStream输出的是一个字节数组:byte[]。如果我将它转换为 String 然后再转换回来,那么它就无法反序列化。 ——这要怎么解释呢? 如果我使用字节数组存储在oracle中,那就很复杂了。有什么办法让String可以反序列化吗?谢谢你! 我是中国人,所以请原谅我的英语不好。 :)
最佳答案
使用ObjectOutputStream
序列化对象,使用ObjectInputStream
反序列化对象。这些类的 API 文档提供了一些示例,展示了如何使用它们在文件中序列化和反序列化对象。
不要尝试将byte[]
强制转换为String
。 (为什么要将其放入 String
中?)。序列化对象是二进制数据,而不是存储在 String
中的文本字符。
关于java - 使用Java序列化来保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9614398/