Convertir RAR a ZIP mediante C#
Contents
[
Hide
Show
]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 }