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

How to serialize objects together with byte array into a file?

我有一个 java class,其中包含一个内部 class 和一个字节数组成员,例如 KeyValPair hdrbyte[] content,我'我想只序列化内部 class hdr 和字节数组 content,而不是整个 class 实例,因为 [=33= 中还有一些其他不必要的字段].

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

另一个问题是,是否可以将 MappedBytesBufferObjectOutputStreamByteArrayOutputStream 之类的东西一起使用?因为我所处的场景需要 I/O 的特定性能水平并且进程可能会被终止...所以使用 MappedBytesBuffer 是个好主意吗?

我是 java 的新手,非常感谢您的帮助。

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