При помощи чего лучше сделать экспорт/импорт огромного количества файлов в один файл или из него (C#)?

У меня есть отдельные папки в каждой из которых хранится файл с метаданными и огромное количество изображений (могут быть сотни тысяч). Общий размер всех папок может составлять гигабайты, а то и десятки гигабайт.
По выбору пользователя отдельные папки или все надо сохранить в один файл.
Я пробовал сохранять в zip архив без сжатия при помощи библиотеки DotNetZip, но даже с опцией использования x64 реализации обработка всех файлов занимает продолжительное время и в конце может вывалиться с ошибкой.
Вопрос в том, может есть какое-то готовое решение для C# (net framework 4.5), с помощью которого я мог бы сделать такой экспорт/импорт без изобретений лишних велосипедов? Обязательно чтобы была возможность получения прогресса экспорта/импорта. И перед импортом надо вытащить из этого архивного файла список того, что там есть для выбора нужного (на данный момент в zip архив добавляется дополнительный файл, где этот список записан).
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Упаковка
public void Zip(string path)
        {
            // добавить сборку System.IO.Compression.FileSystem
           // добавить сборку System.IO.Compression
            var file = ZipFile.Open(path, ZipArchiveMode.Create);
            // выбираете что там и как повторяете до упора
            var newFile = "";
            file.CreateEntryFromFile(newFile, "NewEntry.txt",CompressionLevel.NoCompression);
        }


Список файлов, действует даже через https, без копирования архива, можно и распаковывать не загружая весь архив.
https://docs.microsoft.com/ru-ru/dotnet/api/system...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы