RAR – це широко використовуваний формат архівного файлу, який підтримує стиснення даних без втрат. Часто люди віддають перевагу RAR над ZIP, оскільки він забезпечує кращий рівень стиснення та зменшує розмір архіву. Однак у деяких випадках вам може знадобитися конвертувати файли RAR в архіви ZIP. Щоб досягти цього, у цій статті описано, як програмно конвертувати файл RAR у ZIP на C#.
C# .NET API для перетворення RAR у ZIP
Aspose.ZIP for .NET — це потужний API для архівування, який підтримує створення та роботу з популярними форматами архівів. Ми будемо використовувати цей API для перетворення файлів RAR у формат ZIP. Щоб використовувати API, ви можете встановити його з NuGet або завантажити його DLL із розділу завантажень.
PM> Install-Package Aspose.Zip
Перетворіть файл RAR на ZIP у C#
Файли RAR можна конвертувати у формат ZIP за кілька кроків за допомогою Aspose.ZIP for .NET. Нижче наведено кроки для перетворення файлу RAR на архів ZIP у C#.
Створіть екземпляр класу Архів для ZIP-архіву.
Завантажте архів RAR за допомогою класу RarArchive.
Переглядайте записи архіву RAR за допомогою колекції RarArchive.Entries.
Для кожного запису в RAR виконайте такі дії:
Витягніть запис до об’єкта MemoryStream за допомогою методу RarArchive.Entries[int].Extract(MemoryStream).
Додайте запис до ZIP за допомогою методу Archive.CreateEntry(String, MemoryStream).
Нарешті, збережіть отриманий ZIP-архів за допомогою методу Archive.Save(String).
У наведеному нижче прикладі коду показано, як конвертувати файл RAR у формат ZIP у C#.
// Створіть екземпляр класу Archive для архіву ZIP
using (Archive zip = new Archive())
{
// Завантажте архів RAR
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Переглядайте записи файлу RAR
for (int i = 0; i < rar.Entries.Count; i++)
{
// Скопіюйте кожен запис із RAR у ZIP
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-архів
zip.Save("output.zip");
}
Отримайте безкоштовну ліцензію API
Ви можете отримати безкоштовну тимчасову ліцензію на використання Aspose.ZIP for .NET без обмежень щодо оцінювання.
Висновок
У цій статті ви дізналися, як програмно конвертувати архів RAR у формат ZIP за допомогою C#. У покроковому посібнику та прикладі коду продемонстровано перетворення файлу RAR у архів ZIP за кілька кроків. Ви можете прочитати документацію Aspose.ZIP for .NET, щоб дослідити інші функції. Крім того, ви можете поділитися своїми запитами з нами через наш форум.