所以我目前正在尝试为我的Java应用程序保存和加载数据。现在我试图将所有数据保存在一个大byte[]
中,我可以使用Base64写入文件。我以前见过类似的东西,你可以writeString(String s)
将一个字符串写入byte[]
并使用readString()
从byte[]
读取字符串。我想知道这是如何工作的;如何将几个值写入byte[]
并知道何时一个值结束而另一个值何时开始。使用Integers会很容易,因为它们具有固定的大小,但是字符串是动态的,所以如何才能看到byte[]
中的字符串何时结束?
我已经设法使用byte[]
将数据写入ByteBufferOutputStream
,现在我需要知道如何区分不同的值。我可以插一个0x0
字节,其中字符串的字节结束,知道何时停止阅读byte[]
?
答案 0 :(得分:1)
要么指示字符串结尾的0x00,要么先存储字符串的长度,然后再存储数据字节。