用于存储元数据的 ADS(备用流)与 DSO(文件属性)



我想以编程方式将一小段元数据添加到一些任意类型的文件中。我正在考虑使用ADS或DSOFile。这两种选择是否更可取?有什么优点和缺点?在效率或稳健性方面是否存在显著差异?

ADS 是一个强大的解决方案 - 它在文件系统级别 - 只要您的文件保留在 NTFS 上并且您可以控制它们会发生什么。如果您要通过网络将它们移动到 FAT32 或存档,您将丢失 ADS 中的内容。一些软件还会在保存时创建新文件(到目前为止,我知道Adobe Illustrator做到了)。我认为DSOFile的支持较少,在这种情况下,我宁愿选择XMP。

还可以考虑扩展文件属性,请参阅在 C# .net 中获取扩展文件属性

  1. 据我了解,DSOFile 写入 ADS,特别是对于自定义属性。
  2. DSOFile不是特定于Office的,因为它将数据写入任何NTFS文件的ADS。我目前在PDF,DWG文件上广泛使用它。
  3. 使用ADS(其中DSOFile是2005年的旧实现),如果传输到非NTFS文件系统,数据丢失,正如Rob Goldwein所指出的那样。 例如,使用Windows,它实际上会在将数据传输到USB时提示/通知用户。

最新更新