ZIP и распаковка папок в .NET

API Aspose.ZIP позволяет сжимать и распаковывать файлы, не беспокоясь о базовой файловой структуре. В этой статье показана работа со сжатием одного и нескольких файлов.

Сжатие каталога

Сжатие содержимого каталога

Шаги: Сжатие содержимого каталога в ZIP-файлы с помощью C#< /а>

  1. Определите каталог, содержащий файлы, подлежащие сжатию.
  2. Откройте два файловых потока для выходных ZIP-файлов с помощью FileMode.Create.
  3. Создайте экземпляр класса Archive.
  4. С помощью метода CreateEntries добавьте в архив все файлы и папки из указанного каталога.
  5. Сохраните сжатое содержимое каталога в несколько ZIP-файлов, используя метод Save.

Извлечение сжатого архива каталогов

Шаги: Извлечение сжатого архива каталогов </а>

  1. Откройте поток ZIP-файлов с помощью FileMode.Open.
  2. Создайте экземпляр класса Archive, передав поток ZIP-файлов.
  3. Извлеките содержимое сжатого архива в указанную директорию с помощью ExtractToDirectory.

Сжатие файлов по информации о файле

Шаги: Сжатие файлов по информации о файле </а>

  1. Откройте поток файлов для выходного ZIP-файла с помощью FileMode.Create.
  2. Создайте объекты FileInfo для файлов, которые вы хотите сжать.
  3. Создайте экземпляр класса Archive.
  4. Используйте метод CreateEntry, чтобы добавить каждый файл в архив.
  5. Сохраните архив методом Save с дополнительными опциями сохранения, такими как установка кодировки.

Извлечение архивов с различными входными архивами

Шаги: Извлечение архивов с другой записью Пароли

  1. Откройте поток ZIP-файлов с помощью FileMode.Open.
  2. Создайте экземпляр класса Archive, передав поток ZIP-файлов.
  3. Извлеките первую запись из архива, указав для нее определенный пароль с помощью метода Extract.
  4. Извлеките вторую запись с другим паролем, сохранив ее в отдельный выходной файл.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "\\different_password.zip", FileMode.Open))
3    {
4        using (Archive archive = new Archive(zipFile))
5        {
6            archive.Entries[0].Extract(dataDir + "alice29_extracted_pass_out.txt", "first_pass");
7            archive.Entries[1].Extract(dataDir + "asyoulik_extracted_pass_out.txt", "second_pass");
8        }
9    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.