在文件中存储多个值 - 最佳格式?
Store multiple values in a file - best format?
我想通过 Android Studio 中的 Java 在一个文件中存储多个值(字符串、整数和日期)。
我在这方面没有那么多经验,所以我尝试 google 一点,但我没有得到我一直在寻找的解决方案。那么,也许你可以向我推荐一些东西?
到目前为止我尝试过的:
Android 提供了 SharedPreferences 功能,允许用户保存键的原始值。但是我有一个键的多个值,所以这对我不起作用。
另一种选择是将数据保存在外部存储介质上作为文件。尽可能好。但我想将文件大小保持在最低限度并尽快加载文件。那就是我无法前进的地方。如果我直接将所有值保存为简单文本,我将需要每次手动解析 .txt 文件以加载数据,这将花费多个条目的时间。
是否有可能以有效的方式为特定键保存具有多个值的多个条目?
你没有把你的数据结构或者体量的细节透露的足够多,所以很难给出具体的解决方案。
一般来说,你有这三种选择。
序列化集合
I have multiple values for a key
您可以使用 Map
和 List
或 Set
作为其值。这已经在 Stack Overflow 上被讨论过无数次了。
然后使用序列化写入和读取存储。
文本文件
写一个文本文件。
如果合适,请使用制表符分隔或 CSV 格式。我建议为此使用 Apache Commons CSV 库。
数据库
如果您有大量数据,或者存在多线程并发问题,请使用 H2 数据库引擎等数据库。
我想通过 Android Studio 中的 Java 在一个文件中存储多个值(字符串、整数和日期)。 我在这方面没有那么多经验,所以我尝试 google 一点,但我没有得到我一直在寻找的解决方案。那么,也许你可以向我推荐一些东西?
到目前为止我尝试过的:
Android 提供了 SharedPreferences 功能,允许用户保存键的原始值。但是我有一个键的多个值,所以这对我不起作用。
另一种选择是将数据保存在外部存储介质上作为文件。尽可能好。但我想将文件大小保持在最低限度并尽快加载文件。那就是我无法前进的地方。如果我直接将所有值保存为简单文本,我将需要每次手动解析 .txt 文件以加载数据,这将花费多个条目的时间。
是否有可能以有效的方式为特定键保存具有多个值的多个条目?
你没有把你的数据结构或者体量的细节透露的足够多,所以很难给出具体的解决方案。
一般来说,你有这三种选择。
序列化集合
I have multiple values for a key
您可以使用 Map
和 List
或 Set
作为其值。这已经在 Stack Overflow 上被讨论过无数次了。
然后使用序列化写入和读取存储。
文本文件
写一个文本文件。
如果合适,请使用制表符分隔或 CSV 格式。我建议为此使用 Apache Commons CSV 库。
数据库
如果您有大量数据,或者存在多线程并发问题,请使用 H2 数据库引擎等数据库。