当前位置: 首页 > 知识库问答 >
问题:

具有DataSerializable的Hazelcast 3.5序列化

怀飞掣
2023-03-14

我想序列化一个Book对象:

public class Book implements DataSerializable {

    @Override
    void writeData(ObjectDataOutput out) throws IOException {
        ...
    }
    @Override
    void readData(ObjectDataInput in) throws IOException {
        ...
    }

}

问题是我不知道如何实例化ObjectDataOutput/ObjectDataInPut类型的对象来序列化/反序列化Book对象。

共有1个答案

韩单弓
2023-03-14

感谢@pveentjer,我找到了答案。

FileOutputStream fos = new FileOutputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
SerializationService serializationService = new DefaultSerializationServiceBuilder().build();
ObjectDataOutput odo = new ObjectDataOutputStream(bos, serializationService);

Book book = new Book();
book.writeData(odo);
bos.writeTo(fos);
 类似资料:
  • 问题内容: 我有: 在MyClass2中是无法序列化的属性。如何序列化(和反序列化)此对象? 更正:MyClass2当然不是接口,而是类。 问题答案: 正如其他人指出的那样,Josh Bloch的Effective Java的 第11章是有关Java序列化的必不可少的资源。 该章中与您的问题有关的几点: 假设您要序列化MyClass2中不可序列化字段的状态,则MyClass必须可以直接访问该字段,

  • 其中备注是对象内部的vavr列表字段。 现在,如果尝试将相同的值反序列化到对象中,则会出现错误: 当尝试反序列化时,为什么serified JSON文本不起作用? 在Java代码中有没有其他方法可以将vavr对象打印成文本格式并将其转换回POJO?

  • 我正在尝试使用与字符串输入和其中一列降序。 以下是我需要实现的目标: 在我的例子中,第二列是一个字符串: 错误:大小不正确 (1),预期:5 错误:找不到对象“myCol” 我在这里找到了类似的解决方案,但无法使其工作: 错误:找不到对象“myCol” 感觉我错过了一些很明显的东西,想法?

  • 我整天都在寻找答案,但到目前为止我还没有太多的运气。 我的问题很简单:如何使用Jackson正确反序列化匿名对象。 它的输出是:JSON=[“com.foo.test.JacksonTest$1”,{“value”:5}],然后我得到一个异常: 线程“main”com.fasterxml.jackson.databind.JSONMappingException中出现异常:无法将类com.foo.

  • 我有通过WCF(servicecontract接口、dataContracts等)从服务器检索数据应用程序 我有对象: 我将DataRow中字典填充为(列名)-->(列中的值) DataRow中的某些单元格可以为空。字典中具有所有非空值的对象将正确地序列化和反序列化。但如果值为null,则服务只需停止序列化而不会出现任何错误。它并没有停止工作:我的应用程序仍然试图将请求重复到service,而我在

  • 我一辈子都想不出如何反序列化这一点: 到,其中PetPlayer包含一个名为“pets”的多映射,结构如下;。这里,PetType是枚举,Pet是一个抽象类,具有多个实现。 我尝试使用这两个序列化器和反序列化器。 我非常感谢任何帮助:)