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

时间:2015-01-21 18:18:56

标签: c# metadata ntfs alternate-data-stream

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

2 个答案:

答案 0 :(得分:2)

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

您还可以考虑扩展文件属性,请参阅Getting Extended File Properties in C# .net

答案 1 :(得分:0)

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