我应该如何存储用户指定的一组文件?

时间:2011-05-13 04:03:35

标签: c# file save storage

我正在编写一个新的c#桌面应用程序,它允许用户选择应用程序需要记住的一组图像文件。我还有一些其他设置要保存,我将保存为xml文件及其指定的文件。我在考虑尝试将文件一起保存在zip / cab类型文件或类似文件中,有点像.war或.docx文件。这样,当用户回来时,他们可以选择他们的文件并拥有他们需要的一切。这样用户就无法(轻松)删除所需文件。缺点是文件可能会变得相当大,特别是因为它可能包含图像文件。

但是,我正在考虑visual studio如何在项目文件(.cproj)中存储内容,该文件是指向文件夹中特定文件的指针。这似乎也是一个很好的解决方案。走这条路,我必须添加一些错误检查,以确保用户没有删除文件。我不确定这是否会影响压缩/解压缩文件所需的代码。

关于哪种方式的指针会更好?这两种方法的优缺点是什么?

2 个答案:

答案 0 :(得分:1)

这个问题没有正确答案,实际上取决于真正的业务需求。要记住的最重要的事情之一是,如果您使用对文件位置的引用,那么当应用程序在线和离线时,可以在应用程序的一侧修改文件。如果这是一个导入功能,我会使用文件引用,如果您需要保留文件的快照我将它们放在压缩文件中。

答案 1 :(得分:0)

嗯...当你正在考虑使用XML文件时,我会将图像数据保存为XML文件中的CDATA部分,由此可以重新创建它们(并且图像将无法获得) “迷失”或“感动”)。

虽然这会导致一个相当大的XML文件,但是一旦超过一定的大小,你就可以一直压缩它(达到一定的大小,压缩它就没有回报,解压缩它的时间可以是比加载未压缩版本所花费的时间更长。)

将它包含在XML文件中也消除了使用数据库进行存储的需要 - 尽管使用SQLCompact也可能是一个可行的选项(您只需将图像存储在数据库中)。