Sta*_*yuk 5 java serialization hazelcast
我想序列化一个Book对象:
public class Book implements DataSerializable {
@Override
void writeData(ObjectDataOutput out) throws IOException {
...
}
@Override
void readData(ObjectDataInput in) throws IOException {
...
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何实例化ObjectDataOutput/ObjectDataInput类型的对象来序列化/反序列化Book对象.
ObjectDataOutputStream实现了ObjectDataOutput,但我不知道如何实例化这个对象,因为它需要没有公共构造函数的SerializationService对象.
那么,有没有办法从FileOutputStream/FileInputStream创建一个ObjectDataOutput/ObjectDataInput对象?
提前致谢
感谢@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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |