Come estrarre file RAR utilizzando C#

Come estrarre file RAR utilizzando C#

In questa guida, tratteremo il processo di estrazione di file RAR utilizzando C#. Questo tutorial include le risorse necessarie per impostare l’ambiente di sviluppo, un elenco completo di passaggi che approfondisce la logica di programmazione e codice di esempio eseguibile per decomprimere file RAR.

Vantaggi dell’estrazione di file RAR

  1. Compressione:
    • Il formato RAR fornisce tipicamente rapporti di compressione migliori rispetto a ZIP.
  2. Archivi multi-part:
    • I file RAR supportano archivi multi-part, consentendo di suddividere grandi set di dati in file più piccoli.
  3. Informazioni sui file:
    • Consente di accedere a vari dettagli (dimensione, data, ecc.) sui file nell’archivio prima dell’estrazione.

Requisiti: Preparazione dell’ambiente

  1. Configura Visual Studio o qualsiasi IDE .NET compatibile.
  2. Installa Aspose.ZIP dal NuGet Package Manager.

Guida passo-passo per estrarre file RAR

Passo 1: Installa Aspose.ZIP

Aggiungi la libreria Aspose.ZIP al tuo progetto.

Install-Package Aspose.ZIP

Passo 2: Carica il file RAR

Carica il file RAR sorgente utilizzando la classe RarArchive.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // I passaggi di elaborazione seguiranno qui
}

Passo 3: Analizza le voci

Scorri tutte le voci nell’archivio RAR.

foreach (var entry in rarArchive.Entries)
{
    // I passaggi di elaborazione successivi seguiranno qui
}

Passo 4: Crea un FileStream

Crea un FileStream per ogni voce per scrivere i dati estratti.

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

Passo 5: Leggi i byte dalla voce

Leggi tutti i byte dalla voce corrente e salvali nel 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);
    }
}

Passo 6: Salva il file estratto

Assicurati che il FileStream sia correttamente salvato e chiuso.

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

Esempio di codice completo per estrarre file RAR

Ecco un esempio completo che dimostra come estrarre file RAR in C#:

// Carica il file RAR
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Analizza tutte le voci nell'archivio
    foreach (var entry in rarArchive.Entries)
    {
        // Crea un file per ogni voce
        var file = File.Create(entry.Name);
        
        // Apri la voce dell'archivio e salva i dati nel 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);
            }
        }

        // Chiudi il flusso del file dopo il salvataggio
        file.Close();
    }
}

Informazioni aggiuntive

  • Puoi filtrare i file in base a vari criteri come dimensione o data prima dell’estrazione.
  • La libreria Aspose.ZIP supporta diversi formati di archivio, consentendo una manipolazione versatile dei file.

Conclusione

Questa guida ha dimostrato come estrarre file RAR in C# utilizzando Aspose.ZIP. Seguendo i passaggi e il campione di codice descritti, puoi integrare senza problemi la funzionalità di estrazione RAR nelle tue applicazioni. Per ulteriori esplorazioni, considera di dare un’occhiata ai tutorial sulla compressione dei file o sull’estrazione di altri formati di archivio.

 Italiano