我有一个java类,它包含一个内部类和一个字节数组成员,例如KeyValPair hdr
和byte[] content
,并且我只想序列化内部类{{1}和字节数组hdr
,而不是整个类实例,因为类中还有一些其他不必要的字段。
我知道如何使用content
序列化对象,我知道如何将对象转换为字节数组,但我不确定是否可以在不转换内部的情况下同时存储它们类实例ObjectOutputStream
转换为字节数组。如果我将其转换为字节数组并将其与KeyValPair hdr
一起存储,那么从文件反序列化时如何知道content
的长度?
另一个问题是,是否可以将hdr
与MappedBytesBuffer
或ObjectOutputStream
一起使用?因为我在一个需要一定级别的I / O性能的场景中,这个过程可能会被杀死...所以使用ByteArrayOutputStream
是个好主意吗?
我是java的新手,所以感谢任何帮助。
答案 0 :(得分:0)
只需将字节数组序列化为对象 writeObject()
,然后使用readObject()
反序列化。这将自动处理长度。