Zip-конвертация через C#

конвертировать ZIP в различные форматы файловых архивов

Как конвертировать ZIP с помощью C#

Преобразование ZIP-файлов с использованием C# можно упростить с помощью Aspose.Zip for .NET, мощного API , который упрощает этот процесс. Библиотека позволяет разработчикам выполнять различные операции, включая извлечение и создание ZIP-файлов, а также защиту паролем и настройку уровня сжатия. Используя соответствующие методы, предоставляемые Aspose.Zip, разработчики могут легко конвертировать ZIP-файлы во многие популярные форматы архивных файлов, такие как RAR , CPIO , CAB , TAR и другие.

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

Руководство разработчика — Преобразование архива

Приведенный фрагмент кода демонстрирует, как преобразовать архив RAR в формат ZIP на C#. Он использует библиотеку Aspose.Zip для легкого извлечения записей RAR и последующего создания соответствующих записей в ZIP-архиве.

Давайте рассмотрим этот образец шаг за шагом:

  1. Экземплярный ZIP-архив , подготовленный к сжатию. Мы наполним его записями о следующих шагах.
  2. Экземпляр архива Rar , подготовленный к распаковке, с указанием пути к архиву.
  3. Извлечь каждую запись во временное хранилище.
  4. Создайте zip-запись из этого хранилища. Если запись представляет каталог, мы просто используем его путь.
  5. Сохраните архив по указанному пути.

Конвертировать из RAR в ZIP

Приведенный фрагмент кода демонстрирует, как преобразовать архив RAR в формат ZIP на C#. Он использует библиотеку Aspose.Zip для легкого извлечения записей RAR и последующего создания соответствующих записей в ZIP-архиве.

  using (Archive zip = new Archive())
  {
    using (RarArchive rar = new RarArchive("archive.rar"))
    {
      for (int i = 0; i < rar.Entries.Count; i++)
      {
        if (!rar.Entries[i].IsDirectory)
        {
          var ms = new MemoryStream();
          rar.Entries[i].Extract(ms);
          ms.Seek(0, SeekOrigin.Begin);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

Конвертировать из ZIP в 7Z

Фрагмент кода демонстрирует преобразование ZIP-архива в формат 7Z с помощью C#. Используя библиотеку SevenZipArchive, сценарий извлекает записи ZIP и создает соответствующие записи в архиве 7Z.

Давайте рассмотрим этот пример шаг за шагом:

1. Создать экземпляр архива 7z , подготовленный к сжатию. Мы заполним его записями о следующих шагах.
2. Создать экземпляр ZIP-архива , подготовленный для распаковка, предоставление пути к архиву.
3. Извлечь каждую запись во временное хранилище.
4. Создайте запись 7z из этого хранилища.
5. Сохраните архив по указанному пути.

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

Конвертировать файл TAR.GZ в ZIP

Приведенный здесь фрагмент кода демонстрирует преобразование файла TAR.GZ (GZIP) в формат ZIP с помощью C#. Класс TarArchive имеет удобные методы для работы со сжатыми tarball-архивами, в частности gzip, скрипт извлекает записи из файла TAR.GZ и создает соответствующие записи в ZIP-архиве.

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

Функции преобразования в документации

Aspose.Zip .NET API известен своими надежными возможностями обработки сложных преобразований архивов, обеспечивая плавное преобразование между различными форматами архивов с максимальной эффективностью и надежностью. Благодаря возможности конвертировать ZIP-файлы в другие популярные форматы архивов и наоборот, разработчики могут обеспечить целостность данных и оптимальную производительность на разных платформах и приложениях. Эта важная функция преобразования упрощает процесс передачи, хранения и совместного использования данных, обеспечивая плавную совместимость с различными программными средами. Используя API Aspose.Zip .NET, пользователи могут легко манипулировать архивными файлами и обеспечивать плавную интеграцию с нужными приложениями, тем самым повышая свою производительность и эффективность рабочего процесса. Пространство имен ZIP содержит классы, которые представляют zip-архив и общие объекты, связанные с архивами.

Установка библиотеки Aspose.Zip для .NET

Если вы использовали установщик MSI для развертывания Aspose.ZIP, выполните следующие действия, чтобы полностью удалить компонент, а также связанные с ним демонстрационные версии и документацию:

  1. В меню «Пуск» выберите «Настройки», а затем «Панель управления».
  2. Нажмите «Установка и удаление программ».
  3. Выберите Aspose.ZIP.
  4. Нажмите кнопку «Изменить/Удалить», чтобы удалить Aspose.ZIP.
    Более подробную информацию об установке библиотеки C# можно найти в Документации Aspose.ZIP .

Другие поддерживаемые преобразования архивных файлов

Вы также можете конвертировать файлы CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z во многие другие форматы файлов, включая несколько перечисленных ниже: