Просмотр содержимого архивов в C#

Получайте список файлов и метаданные ZIP, 7Z, RAR, TAR, CPIO и XAR в .NET.

API для просмотра архивов в .NET

Aspose.ZIP for .NET позволяет приложениям C# открывать архивы и перебирать их элементы без предварительной распаковки всех файлов. На основе API можно создавать браузеры архивов, проверку загрузок, каталоги содержимого и сервисы валидации, отображающие имена, пути, размеры и метаданные формата.

API работает внутри приложения .NET и не требует WinRAR или 7-Zip. После изучения общего порядка действий выберите руководство для фактического формата контейнера.

Что означает просмотр архива?

Это чтение индекса и представление сведений о находящихся внутри файлах и папках. В зависимости от формата доступны имя, внутренний путь, исходный и сжатый размеры, время изменения и другие метаданные.

Документы и мультимедиа визуально не отображаются. Для предварительного просмотра извлеките или передайте выбранный элемент средству просмотра соответствующего типа.

Когда нужен просмотрщик архивов

Используйте его, если приложение должно проверить пакет до выбора файлов для извлечения. Это полезно для порталов загрузки, приёма документов, каталогов резервных копий, проверок соответствия и миграции. Предварительный список помогает находить файлы, применять правила именования и оценивать обработку.

Как просмотреть элементы архива в C#

  1. Откройте локальный файл или управляемый приложением поток.
  2. Определите реальный формат контейнера и выберите класс API.
  3. Откройте архив без извлечения всех элементов.
  4. Переберите Entries и прочитайте доступные метаданные.
  5. Покажите безопасный список или проверьте результаты перед выборочным извлечением.

Поддерживаемые форматы архивов

  • ZIP : переберите элементы с помощью Archive.
  • 7Z : переберите элементы с помощью SevenZipArchive.
  • RAR : переберите элементы с помощью RarArchive.
  • TAR : переберите элементы с помощью TarArchive.
  • CPIO : переберите элементы с помощью CpioArchive.
  • XAR : переберите элементы с помощью XarArchive.

Пример C#: список файлов в архиве ZIP

Пример читает индекс ZIP и выводит имена без извлечения элементов:

using Aspose.Zip;

using (var archive = new Archive("input.zip"))
{
    foreach (ArchiveEntry entry in archive.Entries)
        Console.WriteLine(entry.Name);
}

Установка Aspose.ZIP for .NET

Добавьте пакет Aspose.ZIP из NuGet в проект C# и импортируйте пространство имён нужного формата.

Консоль диспетчера пакетов

PM> Install-Package Aspose.Zip

Рекомендации для рабочей среды

Считайте метаданные и имена недоверенными данными. Ограничивайте размер, число элементов, вложенность, время и память. До извлечения нормализуйте пути, безопасно обрабатывайте повреждённые и зашифрованные данные, экранируйте имена для HTML, извлекайте только разрешённые элементы и освобождайте ресурсы.

Просмотр и извлечение архивов

Просмотрщик читает индекс для поиска, выбора и проверки элементов. При извлечении данные распаковываются, а исходные файлы записываются или передаются потоком. Для визуального отображения документа требуется соответствующий его типу просмотрщик.

Связанные операции с архивами

Узнайте об извлечении архивов , преобразовании форматов и открытии архивов с паролем .

Ресурсы Aspose.ZIP for .NET

Частые вопросы о просмотре архивов

1. Как просмотреть содержимое архива в C#?

Откройте его классом для соответствующего формата, переберите Entries и прочитайте имена и метаданные.

2. Какие форматы рассматриваются?

Доступны руководства по ZIP, 7Z, RAR, TAR, CPIO и XAR.

3. Aspose.ZIP визуально отображает документы?

Нет. Он перечисляет и извлекает элементы; для рендеринга нужен просмотрщик соответствующего типа файлов.

4. Нужны ли 7-Zip или WinRAR?

Нет. Поддерживаемые форматы читаются непосредственно в приложении .NET.

5. Можно ли проверить защищённый архив?

Да, если указать действительный пароль и параметры формата. Неизвестный пароль восстановить нельзя.