В этой записи блога мы проведем вас через процесс преобразования архива ZIP в формат 7z с использованием C#. Формат 7z известен своей высокой степенью сжатия и широко используется для уменьшения размера файла, что делает его идеальным для эффективного хранения и передачи. Мы продемонстрируем, как реализовать преобразование, используя пошаговый подход.
Зачем конвертировать ZIP в 7z?
Существует несколько причин конвертировать файлы ZIP в формат 7z:
Уменьшение размера файлов: формат 7z обеспечивает лучшее сжатие по сравнению с ZIP.
Повышение производительности: меньшие размеры файлов приводят к более быстрой загрузке, скачиванию и передаче данных.
Более высокая степень сжатия: формат 7z сжимает файлы более эффективно, уменьшая размер файла для оптимизации хранения.
Конвертер архивов ZIP в 7z — конфигурация API C#
Для преобразования архивов ZIP в формат 7z необходимо установить Conholdate.Total for .NET с помощью следующей команды установки NuGet в среде Microsoft Visual Studio IDE:
PM> NuGet\Install-Package Conholdate.Total
Конвертировать ZIP в 7z на C#
Чтобы преобразовать ZIP в 7z в C#, выполните следующие действия:
Архив: представляет собой ZIP-файл, который вы хотите преобразовать. Класс Archive используется для открытия и чтения ZIP-файла.
SevenZipArchive: этот класс используется для создания и сохранения архива 7z.
SevenZipEntrySettings: Задает параметры сжатия для формата 7z. В этом случае мы используем алгоритм сжатия LZMA2 для максимальной эффективности сжатия.
MemoryStream: данные файла копируются в память с помощью потока, и каждая запись из ZIP-файла добавляется в новый архив 7z.
Пример кода ниже демонстрирует, как преобразовать ZIP в 7z на языке C#:
using (Archive source = new Archive("source.zip"))
{
using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
mem.Seek(0, SeekOrigin.Begin);
archive.CreateEntry(entry.Name, mem);
}
}
archive.Save("result.7z");
}
}
Бесплатная ознакомительная лицензия
Вы можете получить бесплатную временную лицензию, чтобы оценить различные преобразования архивов или манипуляции с ними на своей стороне.
Заключение
Выполнив шаги, описанные выше, вы можете легко преобразовать ZIP-файл в формат 7z в C#. Более высокая эффективность сжатия формата 7z делает его отличным выбором для уменьшения размеров файлов, что помогает повысить производительность при работе с большими архивами. Если вам нужно обсудить какие-либо неясности, свяжитесь с нами на форум.
Часто задаваемые вопросы
Можно ли защитить паролем архив 7z?
Да, формат 7z поддерживает расширенное шифрование, позволяя защитить архив паролем.
Можно ли конвертировать несколько ZIP-файлов в 7z за одну операцию?
Да, вы можете циклически перебирать несколько ZIP-файлов и применять одну и ту же логику для преобразования.
Нужно ли мне устанавливать программное обеспечение 7-Zip на мой компьютер?
Нет, Conholdate.Total для .NET включает в себя все необходимые компоненты для работы с 7z без дополнительного программного обеспечения.