ADS (альтернативный поток) и DSO (свойства файла) для хранения метаданных
Я хочу программно добавить небольшой кусок метаданных в некоторые файлы произвольного типа. Я рассматриваю возможность использования ADS или DSOFile. Любой вариант предпочтительнее? Каковы плюсы и минусы? Существуют ли существенные различия в эффективности или надежности?
2 ответа
ADS - это надежное решение - на уровне файловой системы - до тех пор, пока ваши файлы остаются в NTFS, и вы можете контролировать, что с ними будет происходить. Если вы будете перемещать их по сети, в FAT32 или архивировать их, вы потеряете то, что находится в ADS. Некоторое программное обеспечение также создает новый файл при сохранении (насколько я знаю, это сделал Adobe Illustrator). Я думаю, что DSOFile менее поддерживается, в этом случае я бы предпочел выбрать XMP.
Вы также можете рассмотреть расширенные свойства файла, см. Получение расширенных свойств файла в C# .net
- Насколько я понимаю, DSOFile пишет в ADS, особенно для пользовательских свойств.
- DSOFile не является специфичным для Office, поскольку записывает данные в ADS любого файла NTFS. В настоящее время я широко использую его для PDF, DWG файлов.
- С ADS (из которых DSOFile является старой реализацией 2005 года) данные будут потеряны, как заметил Роб Голдвейн, если они будут перенесены в файловую систему, отличную от NTFS. В Windows он фактически запрашивает / уведомляет пользователя при передаче данных, например, в usb.