如何在 Java 中的字节数组中存储多个值?

How do I store several values in byte array in Java?

所以我目前正在尝试为我的 Java 应用程序保存和加载数据。现在我正在尝试将我的所有数据保存在一个大 byte[] 中,这样我就可以使用 Base64 将其写入文件。我以前见过类似的东西,您可以在其中执行 writeString(String s) 将字符串写入 byte[] 并使用 readString()byte[] 读取字符串。我想知道这究竟是如何工作的;如何将 多个 值写入 byte[] 并知道一个值何时结束而另一个值何时开始。使用整数会很容易,因为它们具有固定大小,但字符串是动态的,所以我如何才能看到 byte[] 中的字符串何时结束?

我已经设法使用 ByteBufferOutputStream 将数据写入 byte[],现在我需要知道如何区分不同的值。例如,我可以在字符串的字节结束处插入一个 0x0 字节以了解何时停止读取 byte[] 吗?

要么是 0x00 表示字符串结束,要么您可以先存储字符串的长度,然后再存储数据字节。