什么';s是保存文件相关信息的最佳结构

本文关键字:信息 最佳 结构 保存文件 什么 | 更新日期: 2023-09-27 17:57:28

我正在构建一个接口,其主要功能是充当文件重命名工具(这里的基本任务是根据描述文件内容的规则手动对文件夹中的每个文件进行分类)。到目前为止,我已经实现了一个自定义的文件资源管理器和一个文件预览窗口。

我现在必须找到一种方法来通知用户文件是否已经被重命名(这将显示在文件资源管理器的listView中)。程序应该能够在重命名文件时读取和修改该状态。我只是不知道什么方法是保存这类信息的最佳方法,因为我还没有完全习惯C#的潜力。我最初的解决方案涉及文本文件,但同样,我不知道是所有文件和文件夹都应该只有一个文本文件,还是每个文件夹都应该有一个指示其包含项目状态的文本文件。

一位同事建议我使用Excel电子表格,然后简单地导入与我的查询相对应的行或列。我试图找到更直接的数据结构,但我会再次对一些外部意见感到更舒服。

那么,你认为存储这种数据的最佳方式是什么?

PS:有成千上万的文件,都是TIFF图像,位于我可以完全访问的远程服务器上。

什么';s是保存文件相关信息的最佳结构

我不确定你想要什么,但如果你只是想保留一些文件的信息,如名称、日期、大小等,你可以使用FileInfo类。它被标记为可序列化,因此您可以通过调用XmlSerializer的序列化方法,轻松地在xml文件中写入它们的数组。

我不确定我是否理解你的问题。但据我所知,你基本上想存储每个文件的元数据。如果是这样的话,我可以提出两个建议。

  1. 将元数据存储在一个简单的XML文件中。每个文件夹一个XML文件如果有多个文件夹,则该XML文件可能是隐藏文件。然后,当您导航到文件夹并向用户显示数据时,您的自定义应用程序可以加载文件(如果存在)。

  2. 如果您使用的是NTFS,并且您知道这种情况将一直存在,您可以将文件的元数据存储在文件流中。这不是。NET流,但它是一个额外的数据流,可以随每个文件存储和移动,而不会影响实际的文件内容。这方面的好处是,无论你将文件移动到哪里,只要它仍在NTFS上,元数据都会随文件一起移动

以下是有关文件流的更多信息http://msdn.microsoft.com/en-us/library/aa364404(VS.85).aspx

您可以创建一个面向对象的结构,然后将根对象序列化为二进制文件或XML文件。你可以用这种方式表示任何结构,这样你就不必与作斗争

我不知道是所有文件和文件夹都应该只有一个文本文件,还是每个文件夹都应该有一个指示其包含项目状态的文本文件。

设计问题。您只需要一个文件,其中包含需要存储的所有元数据。如果你想要更快的打开/保存和更小的大小,可以使用二进制,如果你想要其他人可以打开和查看并可能编写自己的软件的东西,你可以使用XML。

关于如何做到这一点,有很多不同的方法,但为了让你从这里开始,有一篇来自快速谷歌的文章:http://www.codeproject.com/KB/cs/objserial.aspx