将数据保存到外部文件

Posted

技术标签:

【中文标题】将数据保存到外部文件【英文标题】:Save data to external file 【发布时间】:2013-10-08 00:11:36 【问题描述】:

我有一个

List<MyCustomClass> mcc = new List<MyCustomClass>();

当程序运行时,它会从用户那里收集数据,并根据这些数据组装列表。 我想存储数据,以便下次程序运行时,它会记住。

我想总结一下,我有什么方法可以做到这一点?

使用 StreamWriter 我可以将文本保存到“file.txt”。 我听说了一个关于保存到 XML 文件的选项。 数据库:我还没有使用它们的经验

还有其他选择吗? 出于这个特殊原因,您会推荐哪一个?为什么?

【问题讨论】:

我会保存到基于文件的数据库中。试试 SQL Server Compact! 【参考方案1】:

我肯定会使用数据库,但如果这是一个用于单用户微型应用程序的程序,我会使用:

SQL Server Compact

或文档存储数据库(无 Sql)

RavenDB

使用 RavenDB,您只需将 MyCustomClass 对象直接放入此存储中,然后再将其取出。

【讨论】:

【参考方案2】:

在大多数情况下,您应该将其保存到数据库中。数据库用于存储,更重要的是检索数据。

如果您将其保存到文本文件中,您将负责格式化数据,然后编写更多代码来检索它。如果您需要向 MyCustomClass 添加新属性怎么办?

在 XML 中对其进行序列化并将其写入文本会更好,因为格式已为您完成,但您仍然会遇到稍后检索它的问题。如果您有 1000 条记录并且需要获取记录 #495,该怎么办?您将不得不阅读整个文本文件,可能将所有文本序列化回您的对象并搜索记录。很慢。

数据库为您解决这一切。如果它是一个小应用程序,甚至还有普通文件的数据库!对于更大的项目,无论如何你都需要一个集中式数据库,所以你一定要试一试

【讨论】:

以上是关于将数据保存到外部文件的主要内容,如果未能解决你的问题,请参考以下文章

Android将文件保存到外部存储

React Native:如何创建文本文件并将其保存到外部存储

使用 cURL 将外部文件保存到我的服务器

尝试将数据保存到 android 设备上的可访问文件

将 Android 11 中的文件保存到外部存储(SDK 30)

如何将MySQL的结果保存到外部文件中