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

Сначала вам необходимо получить библиотеку Aspose.Zip и использовать ее в своем проекте C#. Обычно его можно загрузить с веб-сайта Aspose или использовать пакет NuGet, если он доступен. Менеджер пакетов, найдите Aspose.ZIP и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.

Управляйте пакетами NuGet с помощью пакета Visual Studio.

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

PM> Install-Package Aspose.Zip

Действия по преобразованию ZIP в ZIP через C#

Convertation from ZIP to ZIP consist of following steps:

  • Extract archive to intermediate storage
  • Compress extracted data to desired format

Системные Требования

Before running the conversion example code, make sure that you have the following prerequisites.

  • Microsoft Windows or a compatible OS with .NET Framework, Mono and COM Interop.
  • Development environment like Microsoft Visual Studio.
  • Aspose.Tasks for .NET DLL referenced in your project.

Пример кода для преобразования из ZIP в ZIP

Преобразование ZIP-архива в различные форматы требует систематического и тщательного подхода. Обычно ZIP-архивы содержат массив файлов или записей, каждый из которых содержит ценные данные. Чтобы облегчить это преобразование в такие форматы, как GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils) и BZ2 (Bzip2), широко распространенная стратегия включает первоначальную консолидацию этого содержимого в ZIP-архив ( ZIP-архив со сжатием Gzip).

Эта методология тесно связана с устоявшейся практикой в ​​средах Linux, где ZIP-архивы считаются универсальными контейнерами. На протяжении всего процесса преобразования каждый отдельный файл или запись в ZIP-архиве тщательно организуется в единый ZIP-архив. Этот ZIP-архив служит связным хранилищем, тщательно сохраняющим исходные файловые структуры и связанные с ними метаданные. Такая инкапсуляция в формат ZIP упрощает последующее применение различных алгоритмов и форматов сжатия.

Предпочтение ZIP как промежуточного формата коренится в его присущей простоте и исключительной совместимости с различными Unix-подобными операционными системами. Его способность группировать файлы без немедленного применения сжатия делает его прагматичным выбором. После успешной упаковки в ZIP можно применять последующие операции сжатия для создания желаемых выходных форматов, включая GZ, LZ, Z, XZ или BZ2.

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

Преобразование из ZIP в ZIP - C#:

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

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



Бесплатное приложение для конвертации ZIP в ZIP

Ознакомьтесь с нашими интерактивными демонстрациями преобразования ZIP в ZIP со следующими преимуществами:


Надежная библиотека Aspose.ZIP, которая может сжимать, извлекать, шифровать, дешифровать, конвертировать и объединять архивы. Aspose.ZIP для .NET API позволяет манипулировать различными типами архивов, не вдаваясь в суть сложности форматов сжатия файлов с минимальными усилиями по кодированию.

Другие поддерживаемые преобразования ZIP

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