将数据保存到外部文件
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,该怎么办?您将不得不阅读整个文本文件,可能将所有文本序列化回您的对象并搜索记录。很慢。
数据库为您解决这一切。如果它是一个小应用程序,甚至还有普通文件的数据库!对于更大的项目,无论如何你都需要一个集中式数据库,所以你一定要试一试
【讨论】:
以上是关于将数据保存到外部文件的主要内容,如果未能解决你的问题,请参考以下文章
React Native:如何创建文本文件并将其保存到外部存储