如何将对象与字节数组一起序列化到一个文件中?
How to serialize objects together with byte array into a file?
我有一个 java class,其中包含一个内部 class 和一个字节数组成员,例如 KeyValPair hdr
和 byte[] content
,我'我想只序列化内部 class hdr
和字节数组 content
,而不是整个 class 实例,因为 [=33= 中还有一些其他不必要的字段].
我知道如何使用 ObjectOutputStream
序列化对象,我知道如何将对象转换为字节数组,但我不确定是否可以在不转换内部的情况下同时存储它们class 实例KeyValPair hdr
转换为字节数组。如果我将它转换为字节数组并将其与 content
存储在一起,那么在从文件中反序列化它时如何知道 hdr
的长度?
另一个问题是,是否可以将 MappedBytesBuffer
与 ObjectOutputStream
或 ByteArrayOutputStream
之类的东西一起使用?因为我所处的场景需要 I/O 的特定性能水平并且进程可能会被终止...所以使用 MappedBytesBuffer
是个好主意吗?
我是 java 的新手,非常感谢您的帮助。
只需将字节数组 序列化为一个对象, 使用 writeObject()
并使用 readObject()
反序列化。这将自动处理长度。
我有一个 java class,其中包含一个内部 class 和一个字节数组成员,例如 KeyValPair hdr
和 byte[] content
,我'我想只序列化内部 class hdr
和字节数组 content
,而不是整个 class 实例,因为 [=33= 中还有一些其他不必要的字段].
我知道如何使用 ObjectOutputStream
序列化对象,我知道如何将对象转换为字节数组,但我不确定是否可以在不转换内部的情况下同时存储它们class 实例KeyValPair hdr
转换为字节数组。如果我将它转换为字节数组并将其与 content
存储在一起,那么在从文件中反序列化它时如何知道 hdr
的长度?
另一个问题是,是否可以将 MappedBytesBuffer
与 ObjectOutputStream
或 ByteArrayOutputStream
之类的东西一起使用?因为我所处的场景需要 I/O 的特定性能水平并且进程可能会被终止...所以使用 MappedBytesBuffer
是个好主意吗?
我是 java 的新手,非常感谢您的帮助。
只需将字节数组 序列化为一个对象, 使用 writeObject()
并使用 readObject()
反序列化。这将自动处理长度。