之前我只存储了我的文件中的字符串,可以存储在SD卡中,我现在也将byte []存储在同一个文件中。所以我只需要像这样存储文件的正常:
表示字符串: - bufferWritter.write(data);
for bytes: - FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)
或fos.write(myByteArray);
所以,如果我喜欢它,那么我怎么能区别消息是字符串还是字节[]。
即使我想知道这是一个很好的方法吗?
答案 0 :(得分:1)
你需要在你的文件中写一些标题,它应该说明它代表什么。 如果一个文件中有多个项目,还要指定数据部分的长度。
[byte]排序数据(0 = String,1 = Image)
然后是实际数据。
但我建议您使用不同的格式,如json或制作可序列化的对象。
答案 1 :(得分:1)
我会尝试一些 JSON 实现(可能是GSON?或其他替代方案),这样您就可以在一个文件中存储混合数据类型或编写自己的de / 序列化例程,因此您可以存储整个对象。
注意:如果您通过表示要存储的对象的类实现Serializable接口,请不要忘记每次更改该类的内容时重新生成UUID,它将节省你有时间弄清楚出了什么问题