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-архиве.
Давайте рассмотрим этот образец шаг за шагом:
- Экземплярный ZIP-архив , подготовленный к сжатию. Мы наполним его записями о следующих шагах.
- Экземпляр архива Rar , подготовленный к распаковке, с указанием пути к архиву.
- Извлечь каждую запись во временное хранилище.
- Создайте zip-запись из этого хранилища. Если запись представляет каталог, мы просто используем его путь.
- Сохраните архив по указанному пути.
Конвертировать из 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, выполните следующие действия, чтобы полностью удалить компонент, а также связанные с ним демонстрационные версии и документацию:
- В меню «Пуск» выберите «Настройки», а затем «Панель управления».
- Нажмите «Установка и удаление программ».
- Выберите Aspose.ZIP.
- Нажмите кнопку «Изменить/Удалить», чтобы удалить Aspose.ZIP.
Более подробную информацию об установке библиотеки C# можно найти в Документации Aspose.ZIP .
Другие поддерживаемые преобразования архивных файлов
Вы также можете конвертировать файлы CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z во многие другие форматы файлов, включая несколько перечисленных ниже: