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

时间:2018-04-13 16:44:18

标签: java arrays serialization bytearrayoutputstream

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

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

1 个答案:

答案 0 :(得分:1)

要么指示字符串结尾的0x00,要么先存储字符串的长度,然后再存储数据字节。