Использование FastZip для архивирования каталога и включения только определенных типов файлов (фильтрация файлов)
Интересно, есть ли способ использовать fastzip, чтобы заархивировать каталог, но включить только определенные типы файлов. Я думаю об использовании чего-то вроде:
public static void ZipFiles(string DirectoryToZip, string ZipedFile, string fileFilter, string folderFilter) {
FastZip fz = new FastZip();
fz.CreateEmptyDirectories = true;
fz.CreateZip(ZipedFile, DirectoryToZip, true, fileFilter, folderFilter);
}
Единственная проблема заключается в том, что fileFilter
дан в string
, не в arrays
,
Есть идеи?
2 ответа
Решение
Я решил свою собственную проблему; получается, что мне просто нужно предоставить строку регулярного выражения для фильтрации нужных мне типов.
Вот пример для включения в файл zip только файла Excel, файла Word и XML.
FastZip fz = new FastZip();
fz.CreateEmptyDirectories = true;
fz.CreateZip(zipFile, prjDir, true, ".*\\.(xls|doc|xml)$", "");
Не можете ли вы создать свой FastZip
экземпляр и добавить еще файлы позже?
Если вы можете, вы могли бы использовать Directory.GetDirectories()
метод для фильтрации ваших файлов и просто включить то, что вы хотите.