你可以在Object / FileOutputStream中保存多少

时间:2013-05-16 18:33:25

标签: java android

我发现很少有关于此功能限制的文档。 SQL仍然有点超出我的范围,但是我知道它是数据存储的天赐。忽略这一点,使用Input/Output Streams写入文件时有什么限制? 例如,我经常发现我的项目只需要保存一个东西,一个字符串或某种类型的数组,这对我来说很好,但是:

  • 我可以将多种类型保存到同一个文件中吗?也许,一个带有Objects,字符串的文件, 双打,花车等?
  • 如果是这样,从文件中读取时,如何识别文件 其他

通常我使用retrieved_data = (datatype) obj_in.readObject();,所以,如果我将多种类型的数据保存到文件中,我怎么知道我得到了什么?

文档说明方法.readObject()“从源流中读取下一个对象。”

这是否意味着它按照我保存的顺序存储它?

这种操作是否有标准,还是所有有争议的偏好?

提前致谢。

2 个答案:

答案 0 :(得分:0)

序列化和反序列化怎么样? 使用序列化可以将对象值存储到文件中,使用反序列化可以获取存储的对象。

答案 1 :(得分:0)

您可以使用ObjectOutputStream编写任何Serializable对象,它们的编写顺序与您编写的顺序相同,也应该以这种方式读取:

  

可以将多个对象或基元写入流中。该   必须从相应的ObjectInputstream读回对象   与他们写的相同的类型和顺序。

(资料来源:ObjectOutputStream