如何将对象与字节数组一起序列化到文件中?

时间:2017-05-16 16:18:23

标签: java serialization objectoutputstream bytearrayoutputstream

我有一个java类,它包含一个内部类和一个字节数组成员,例如KeyValPair hdrbyte[] content,并且我只想序列化内部类{{1}和字节数组hdr,而不是整个类实例,因为类中还有一些其他不必要的字段。

我知道如何使用content序列化对象,我知道如何将对象转换为字节数组,但我不确定是否可以在不转换内部的情况下同时存储它们类实例ObjectOutputStream转换为字节数组。如果我将其转换为字节数组并将其与KeyValPair hdr一起存储,那么从文件反序列化时如何知道content的长度?

另一个问题是,是否可以将hdrMappedBytesBufferObjectOutputStream一起使用?因为我在一个需要一定级别的I / O性能的场景中,这个过程可能会被杀死...所以使用ByteArrayOutputStream是个好主意吗?

我是java的新手,所以感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

只需将字节数组序列化为对象 writeObject(),然后使用readObject()反序列化。这将自动处理长度。