将字节数组和字符串存储在同一文件中

时间:2016-06-19 19:07:00

标签: java android arrays

之前我只存储了我的文件中的字符串,可以存储在SD卡中,我现在也将byte []存储在同一个文件中。所以我只需要像这样存储文件的正常:

表示字符串: - bufferWritter.write(data);
for bytes: - FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)fos.write(myByteArray);

所以,如果我喜欢它,那么我怎么能区别消息是字符串还是字节[]。

即使我想知道这是一个很好的方法吗?

2 个答案:

答案 0 :(得分:1)

你需要在你的文件中写一些标题,它应该说明它代表什么。 如果一个文件中有多个项目,还要指定数据部分的长度。

  

[byte]排序数据(0 = String,1 = Image)

     

然后是实际数据。

但我建议您使用不同的格式,如json或制作可序列化的对象。

答案 1 :(得分:1)

我会尝试一些 JSON 实现(可能是GSON?或其他替代方案),这样您就可以在一个文件中存储混合数据类型或编写自己的de / 序列化例程,因此您可以存储整个对象。

注意:如果您通过表示要存储的对象的类实现Serializable接口,请不要忘记每次更改该类的内容时重新生成UUID,它将节省你有时间弄清楚出了什么问题