Перетворення RAR на ZIP за допомогою C#
Contents
[
Hide
Show
]Якщо ви хочете конвертувати архів RAR у ZIP, прочитайте цю статтю.
Конвертація
Aspose.ZIP API надає клас RarArchive для видобування архівів RAR. Ми можемо витягти запис у пам’ять, не зберігаючи його в проміжному сховищі, і відразу передати в ZIP-архів.
Переконайтеся, що у вас достатньо віртуальної пам’яті, щоб зберегти вміст усіх записів.
Перенести запис
У наведеному нижче прикладі коду показано, як витягти записи з архіву RAR і негайно помістити його в архів ZIP. Записи, які є каталогами, додаються з похилою рискою, щоб визначити їх тип.
1 using (Archive zip = new Archive())
2 {
3 using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
4 {
5 for (int i = 0; i < rar.Entries.Count; i++)
6 {
7 if (!rar.Entries[i].IsDirectory)
8 {
9 var ms = new MemoryStream();
10 rar.Entries[i].Extract(ms);
11 ms.Seek(0, SeekOrigin.Begin);
12 zip.CreateEntry(rar.Entries[i].Name, ms);
13 }
14 else
15 zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
16 }
17 }
18
19 zip.Save("output.zip");
20 }