Com extreure arxius rars amb C#

Com extreure arxius rars amb C#

En aquesta guia, cobrirem el procés d’extracció RAR fitxers amb C#. Aquest tutorial inclou els recursos necessaris per configurar l’entorn de desenvolupament, una llista exhaustiva de passos que elabora la lògica de programació i codi d’exemple executable per descomprimir fitxers RAR.

Beneficis d’extracció de fitxers RAR

  1. Compressió:
  • RAR format sol proporcionar millors ràtios de compressió en comparació amb ZIP.
  1. Arxius multipart:
  • Els fitxers RAR admeten arxius multipart, permetent que conjunts de dades grans es divideixin en fitxers més petits.
  1. Informació del fitxer:
  • Permet accedir a diversos detalls (mida, data, etc.) sobre els fitxers a l’arxiu abans de l’extracció.

Requisits previs: Preparació de l’entorn

  1. Configura Visual Studio o qualsevol IDE compatible amb .NET.
  2. Instal·la Aspose.ZIP des del NuGet Package Manager.

Guia pas a pas per extreure fitxers RAR

Pas 1: Instal·la Aspose.ZIP

Afegeix la biblioteca Aspose.ZIP al teu projecte.

Install-Package Aspose.ZIP

Pas 2: Carrega el fitxer RAR

Carrega el fitxer RAR d’origen utilitzant el RarArchive classe.

using Aspose.Zip;
using Aspose.Zip.Rar;

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

Pas 3: Analitza les entrades

Itera per totes les entrades de l’arxiu RAR.

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

Pas 4: Crea un FileStream

Crea un FileStream per a cada entrada per escriure les dades extretes.

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

Pas 5: Llegeix bytes de l’entrada

Llegeix tots els bytes de l’entrada actual i desa’ls al FileStream.

using Aspose.Zip.Rar;
// 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();
    }
}

Pas 6: Desa el fitxer extret

Assegura’t que el FileStream està desat i tancat correctament.

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

Exemple complet de codi per extreure fitxers RAR

Aquí teniu un exemple complet que demostra com extreure fitxers RAR en C#:

using Aspose.Zip.Rar;
// 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ó addicional

  • Podeu filtrar els fitxers segons diversos criteris com la mida o la data abans de l’extracció.
  • La biblioteca Aspose.ZIP admet diferents formats d’arxiu, permetent una manipulació de fitxers versàtil.

Conclusió

Aquesta guia ha demostrat com extreure fitxers RAR en C# utilitzant Aspose.ZIP. Seguint els passos descrits i l’exemple de codi, podeu incorporar la funcionalitat d’extracció de RAR a les vostres aplicacions de manera fluida. Per a una exploració més profunda, considereu consultar tutorials sobre compressió de fitxers o extracció d’altres formats d’arxiu.

 Català