RAR es un formato de archivo de uso común que admite la compresión de datos sin pérdidas. A menudo, la gente prefiere RAR a ZIP porque proporciona una mejor tasa de compresión y mantiene el tamaño del archivo más pequeño. Sin embargo, en ciertos casos, es posible que deba convertir archivos RAR a archivos ZIP. Para lograrlo, este artículo cubre cómo convertir un archivo RAR a ZIP mediante programación en C#.
C# .NET API para conversión de RAR a ZIP
Aspose.ZIP for .NET es una potente API de archivo que admite la creación y manipulación de formatos de archivo populares. Utilizaremos esta API para convertir los archivos RAR a formato ZIP. Para usar la API, puede instalarla desde NuGet o descargar su DLL desde la sección de descargas.
PM> Install-Package Aspose.Zip
Convertir un archivo RAR a ZIP en C#
Los archivos RAR se pueden convertir a formato ZIP en unos pocos pasos usando Aspose.ZIP for .NET. Los siguientes son los pasos para convertir un archivo RAR a un archivo ZIP en C#.
Cree una instancia de la clase Archive para el archivo ZIP.
Cargue el archivo RAR usando la clase RarArchive.
Recorra las entradas del archivo RAR usando la colección RarArchive.Entries.
Para cada entrada en RAR, realice los siguientes pasos:
Extraiga la entrada al objeto MemoryStream usando el método RarArchive.Entries[int].Extract(MemoryStream).
Agregue la entrada a ZIP usando el método Archive.CreateEntry(String, MemoryStream).
Finalmente, guarde el archivo ZIP resultante usando el método Archive.Save(String).
El siguiente ejemplo de código muestra cómo convertir un archivo RAR a formato ZIP en C#.
// Cree una instancia de la clase Archive para el archivo ZIP
using (Archive zip = new Archive())
{
// Cargue el archivo RAR
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Bucle a través de las entradas del archivo RAR
for (int i = 0; i < rar.Entries.Count; i++)
{
// Copie cada entrada de RAR a ZIP
if (!rar.Entries[i].IsDirectory)
{
var ms = new MemoryStream();
rar.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
zip.CreateEntry(rar.Entries[i].Name, ms);
}
else
zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
}
}
// Guarde el archivo ZIP resultante
zip.Save("output.zip");
}
Obtenga una licencia de API gratuita
Puede obtener una licencia temporal gratuita para usar Aspose.ZIP for .NET sin limitaciones de evaluación.
Conclusión
En este artículo, ha aprendido cómo convertir un archivo RAR a formato ZIP mediante programación en C#. La guía paso a paso y el ejemplo de código han demostrado la conversión de un archivo RAR a un archivo ZIP en unos pocos pasos. Puede leer la documentación de Aspose.ZIP for .NET para explorar otras características. Además, puede compartir sus consultas con nosotros a través de nuestro foro.