Перетворення RAR на ZIP за допомогою C#

Якщо ви хочете конвертувати архів 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    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.