Convertir RAR a ZIP mediante C#

Si desea convertir un archivo RAR a ZIP, lea este artículo.

Conversión

Aspose.ZIP API proporciona la clase  RarArchive para extraer archivos RAR. Podemos extraer una entrada a la memoria sin guardarla en un almacenamiento intermedio y pasarla al archivo ZIP de inmediato.

Asegúrese de tener suficiente memoria virtual para guardar el contenido de todas las entradas.

Transferir una entrada

El siguiente ejemplo de código demuestra cómo extraer entradas de un archivo RAR e inmediatamente colocarlas en un archivo ZIP. Entradas que son directorios agregados con una barra diagonal adjunta para especificar su tipo.

 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.