Cómo extraer archivos RAR utilizando C#

Cómo extraer archivos RAR utilizando C#

Este tutorial incluye los recursos necesarios para configurar el entorno de desarrollo, una lista completa de pasos que elaboran sobre la lógica de programación, y el código de muestra corriente para descifrar los archivos RAR.

Beneficios de extraer archivos raros

  • Compresión:- El formato RAR generalmente proporciona mejores proporciones de compresión en comparación con ZIP.

  • Múltiplos archivos:- Los archivos RAR soportan archivos multipartes, lo que permite que los grandes conjuntos de datos se dividan en archivos más pequeños.

  • Información de archivo:- Permite acceder a varios detalles (tamaño, fecha, etc.) sobre los archivos antes de la extracción.

Requisitos: Preparación del medio ambiente

  • Instalar Visual Studio o cualquier compatible .NET IDE.
  • Instalar Aspose.ZIP desde NuGet Package Manager.

Guía paso a paso para extraer archivos RAR

Paso 1: Instalar Aspose.ZIP

Añade la biblioteca Aspose.ZIP a tu proyecto.

Install-Package Aspose.ZIP

Paso 2: Cargar el archivo RAR

Cargar el archivo de fuente RAR utilizando el RarArchive de clase.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Processing steps will follow here
}

Paso 3: Parse las entradas

Pasar por todas las entradas en el archivo RAR.

foreach (var entry in rarArchive.Entries)
{
    // Further processing steps follow here
}

Paso 4: Crear un FileStream

Creación a FileStream para cada entrada para escribir los datos extraídos.

var file = File.Create(entry.Name);

Paso 5: Leer Bytes desde la entrada

Leer todos los bytes de la entrada actual y guardarlos en el FileStream.

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

Paso 6: Salva el archivo extraído

Asegurar el FileStream Está bien guardado y cerrado.

file.Close();
file.Dispose();

Exemplo de código completo para extraer archivos RAR

Aquí hay un ejemplo completo que demuestra cómo extraer archivos RAR en C#:

// Load the RAR file
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Parse all entries in the archive
    foreach (var entry in rarArchive.Entries)
    {
        // Create a file for each entry
        var file = File.Create(entry.Name);
        
        // Open the archive entry and save data to the file
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // Close the file stream after saving
        file.Close();
    }
}

Información adicional

  • Puedes filtrar los archivos basados en varios criterios como el tamaño o la fecha antes de la extracción.
  • La biblioteca Aspose.ZIP soporta diferentes formatos de archivo, lo que permite la manipulación de archivos versátiles.

Conclusión

Esta guía ha demostrado cómo extraer archivos RAR en C# utilizando Aspose.ZIP. Al seguir los pasos y la muestra de código, se puede incorporar la funcionalidad de extracción RAR en sus aplicaciones sin duda. Para más exploración, considere examinar los tutoriales sobre la compresión de archivos o extraer otros formatos de archivo.

 Español