从应用程序中存储的文本文件中读取数据的最佳方式

Posted

技术标签:

【中文标题】从应用程序中存储的文本文件中读取数据的最佳方式【英文标题】:Best way to read data from text files stored in your app 【发布时间】:2015-02-19 19:59:43 【问题描述】:

在用户可以搜索和显示的应用中保存大量数据的最佳方式是什么?

我的想法是,我可以在我的应用程序中将这些文件作为支持“.txt”文件,并且当应用程序第一次在用户手机上运行时,它们将加载到核心数据中,然后由用户访问

关于这个,我有两个问题:

如何从不直接在应用文件系统中的支持“.txt”文件中读取? 我知道如何将项目保存到核心数据中,但是在保存如此大量的数据时我应该考虑什么?这样做的方法或其他问题?

如果您有任何其他有效地执行此操作的方法,很高兴知道。除此之外,任何建议都将不胜感激。

【问题讨论】:

您要存储什么样的数据? @Subash 天气数据 【参考方案1】:

首先,您当然可以将文本文件读入内存,即使它存储在应用程序的捆绑包中。如果要写入文件,只需将文件复制到应用程序的文档目录中即可。

其次,一个带有制表符分隔数据的文本文件将很容易解析并插入到 Core Data 中。我认为最可行的方法是自己编写几个 for 循环。

第三,您说得对,大型数据集可能需要一些时间。有几个技巧可以优化核心数据插入;最重要的是确定一个好的批量大小(通常为 500-1000 条记录)并在处理完这么多记录后反复调用save

第四,我建议您在分发应用程序之前将此转换为 Core Data。成功完成后,找到生成的 sqlite 文件并将该文件 包含在您的应用程序包中,而不是文本文件中。在第一次运行时,将文件复制到文档目录作为保存 Core Data 持久存储的文件。仅复制文件将非常快,并且不会在首次运行您的应用程序时破坏用户体验。

【讨论】:

以上是关于从应用程序中存储的文本文件中读取数据的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

存储可从管理员界面配置的应用程序设置的最佳方式?

在 web 应用程序中存储用户上传文件的最佳方式

在设备上存储和更新数据的最佳方式

通过网络读取和解析大型文本文件的最佳方式是啥?

从 pdf 文件导入/读取数据的最佳方法是啥?

在 .NET C# 中存储加密密钥的最佳方式