При работе с ZIP-файлами вы часто можете обнаружить, что несколько ZIP архивов вложены в родительский ZIP-архив. Чтобы получить доступ к содержимому этих вложенных архивов, вам необходимо сначала извлечь родительский ZIP, а затем обработать каждый вложенный архив по отдельности. В этой статье мы проведем вас через как извлечь вложенные ZIP-архивы на C# .NET эффективно и без сложного кода.

Содержание

Использование API .NET для извлечения вложенных ZIP-архивов

Для выполнения извлечения вложенных ZIP-архивов мы будем использовать библиотеку Aspose.ZIP для .NET. Этот мощный API специально разработан для операций архивирования в приложениях .NET, позволяя вам легко создавать и манипулировать различными форматами архивов. Вы можете выбрать скачать DLL API или установить его напрямую с помощью NuGet с помощью следующей команды:

PM> Install-Package Aspose.Zip

Пошаговое руководство по распаковке вложенных ZIP-архивов

Для нашей демонстрации мы подготовили ZIP-файл, содержащий три элемента, включая вложенные ZIP-архивы.

Вложенные ZIP-архивы

Вложенные ZIP-архивы

Мы извлечем каждый вложенный ZIP-архив и сохраним его содержимое в отдельные папки. Вот шаги для обработки вложенных ZIP-файлов в .NET:

  1. Создайте FileStream: Загрузите родительский ZIP-файл с помощью объекта FileStream.
  2. Загрузите ZIP-файл: Используйте класс Archive для загрузки ZIP-файла.
  3. Переберите записи архива: Пройдите через каждую ArchiveEntry в коллекции Archive.Entries.
  4. Фильтруйте вложенные ZIP-архивы: Определите ZIP-архивы в коллекции и для каждого из этих архивов выполните следующее:
    • Создайте MemoryStream: Создайте экземпляр MemoryStream и скопируйте запись архива в него с помощью метода ArchiveEntry.Open().CopyTo(Stream).
    • Загрузите вложенный архив: Создайте экземпляр класса Archive для загрузки вложенного архива из MemoryStream.
    • Извлеките в каталог: Наконец, извлеките содержимое вложенного архива в указанную папку с помощью метода Archive.ExtractToDirectory(string).

Вот пример кода, демонстрирующий, как распаковать вложенные ZIP-архивы на C# .NET:

Следующий скриншот иллюстрирует содержимое, извлеченное из вложенных ZIP-архивов:

Извлечение вложенных ZIP-архивов на C# .NET

Распакованные вложенные архивы

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию для Aspose.ZIP для .NET, что позволит вам использовать библиотеку без каких-либо ограничений на оценку.

Заключение

В этой статье вы узнали лучший способ распаковки вложенных ZIP-файлов на C#. Пошаговое руководство и предоставленный пример кода иллюстрируют, как эффективно обрабатывать вложенные ZIP-архивы с использованием .NET. Для дальнейшего изучения возможностей не стесняйтесь посетить документацию Aspose.ZIP или задавать вопросы на нашем форуме.

Смотрите также