如何在 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 表示字符串结束,要么您可以先存储字符串的长度,然后再存储数据字节。
所以我目前正在尝试为我的 Java 应用程序保存和加载数据。现在我正在尝试将我的所有数据保存在一个大 byte[]
中,这样我就可以使用 Base64 将其写入文件。我以前见过类似的东西,您可以在其中执行 writeString(String s)
将字符串写入 byte[]
并使用 readString()
从 byte[]
读取字符串。我想知道这究竟是如何工作的;如何将 多个 值写入 byte[]
并知道一个值何时结束而另一个值何时开始。使用整数会很容易,因为它们具有固定大小,但字符串是动态的,所以我如何才能看到 byte[]
中的字符串何时结束?
我已经设法使用 ByteBufferOutputStream
将数据写入 byte[]
,现在我需要知道如何区分不同的值。例如,我可以在字符串的字节结束处插入一个 0x0
字节以了解何时停止读取 byte[]
吗?
要么是 0x00 表示字符串结束,要么您可以先存储字符串的长度,然后再存储数据字节。