java - 使用Java序列化来保存对象

标签 java serialization

我打算使用序列化来保存用户修改的Bean——存储历史记录。但是ByteArrayOutputStream输出的是一个字节数组:byte[]。如果我将它转换为 String 然后再转换回来,那么它就无法反序列化。 ——这要怎么解释呢? 如果我使用字节数组存储在oracle中,那就很复杂了。有什么办法让String可以反序列化吗?谢谢你! 我是中国人,所以请原谅我的英语不好。 :)

最佳答案

使用ObjectOutputStream序列化对象,使用ObjectInputStream反序列化对象。这些类的 API 文档提供了一些示例,展示了如何使用它们在文件中序列化和反序列化对象。

不要尝试将byte[]强制转换为String。 (为什么要将其放入 String 中?)。序列化对象是二进制数据,而不是存储在 String 中的文本字符。

关于java - 使用Java序列化来保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9614398/

相关文章:

Java Jersey ClientResponse 从 getClientResponseStatus 返回错误状态

serialization - Java ME 对象持久化

c# - 序列化图像并将其存储在 XML 文件中

c# - 为什么 BinaryFormatter 试图在可序列化类上序列化事件?

java - 为采用命令行输入的 Java 独立执行 JUnit 测试用例

java - 如何在 java 的 Mockito 中 stub instanseof?

c# - 反序列化 XML 属性 'xsi:type'

c# - 处理未定义抽象方法C#的调用

java - 网络服务 : How do I detect the endpoint that sent the message

java.lang.AbstractMethodError : javax. ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;