Использование 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() метод для фильтрации ваших файлов и просто включить то, что вы хотите.

Другие вопросы по тегам