Convertir RAR en ZIP via C#

Si vous souhaitez convertir une archive RAR en ZIP, lisez cet article.

Conversion

API Aspose.ZIP fournit la classe  RarArchive pour extraire les archives RAR. Nous pouvons extraire une entrée en mémoire sans la sauvegarder dans un stockage intermédiaire et la transmettre immédiatement dans l’archive ZIP.

Assurez-vous de disposer de suffisamment de mémoire virtuelle pour conserver le contenu de toutes les entrées.

Transférer une entrée

L’exemple de code suivant montre comment extraire les entrées de l’archive RAR et les placer immédiatement dans l’archive ZIP. Entrées qui sont des répertoires ajoutés avec une barre oblique pour spécifier leur type.

 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.