将多个值存储在文件中-最佳格式?

时间:2018-10-08 11:07:41

标签: java file storage

我想通过Android Studio中的Java在文件中存储多个值(字符串,整数和日期)。 我在该领域没有太多经验,所以我尝试了一下Google,但没有得到我一直在寻找的解决方案。所以,也许您可​​以推荐我一些东西?

到目前为止,我已经尝试过:

  • Android提供了SharedPreferences功能,该功能允许用户保存键的原始值。但是我有一个键的多个值,所以这对我不起作用。

  • 另一个选项是将数据作为文件保存在外部存储介质上。就好。但是我想保持文件大小最小并尽快加载文件。那是我无法前进的地方。如果我直接将所有值保存为简单文本,则需要每手分析.txt文件以加载数据,这需要花费大量时间进行多次输入。

是否可以有效地保存具有特定键的多个值的多个条目?

2 个答案:

答案 0 :(得分:1)

无需重新发明自行车。最适合您的情况的最佳选择是使用数据库。查看SqliteRealm

答案 1 :(得分:1)

您没有透露有关数据结构或数据量的足够详细信息,因此很难给出具体的解决方案。

通常来说,您有这三个选择。

序列化集合

  

我有一个键的多个值

您可以使用MapList作为其值的Set。在堆栈溢出方面已经讨论了无数次。

然后使用序列化来写入和读取存储。

文本文件

写一个文本文件。

使用制表符分隔或CSV格式(如果适用)。我建议为此使用Apache Commons CSV库。

数据库

如果您有大量数据或多个线程存在并发问题,请使用H2数据库引擎之类的数据库。