Hur man extraherar RAR-filer med C#

Hur man extraherar RAR-filer med C#

I den här guiden kommer vi att gå igenom processen för att extrahera RAR-filer med C#. Denna handledning inkluderar nödvändiga resurser för att ställa in utvecklingsmiljön, en omfattande lista med steg som förklarar programmeringslogiken, och körbar exempelkod för att packa upp RAR-filer.

Fördelar med att extrahera RAR-filer

  1. Komprimering:
    • RAR-formatet ger vanligtvis bättre komprimeringsförhållanden jämfört med ZIP.
  2. Flerskiktsarkiv:
    • RAR-filer stödjer flerskiktsarkiv, vilket gör att stora datamängder kan delas upp i mindre filer.
  3. Filinformation:
    • Gör att du kan få tillgång till olika detaljer (storlek, datum, etc.) om filer i arkivet före extraktionen.

Förutsättningar: Förbereda miljön

  1. Ställ in Visual Studio eller någon kompatibel .NET IDE.
  2. Installera Aspose.ZIP från NuGet Package Manager.

Steg-för-steg-guide för att extrahera RAR-filer

Steg 1: Installera Aspose.ZIP

Lägg till Aspose.ZIP-biblioteket i ditt projekt.

Install-Package Aspose.ZIP

Steg 2: Ladda RAR-filen

Ladda källan RAR-fil med RarArchive-klassen.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Bearbetningsstegen följer här
}

Steg 3: Parsning av poster

Loopa igenom alla poster i RAR-arkivet.

foreach (var entry in rarArchive.Entries)
{
    // Ytterligare bearbetningssteg följer här
}

Steg 4: Skapa en FileStream

Skapa en FileStream för varje post för att skriva de extraherade data.

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

Steg 5: Läs byte från posten

Läs alla byte från den aktuella posten och spara dem till 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);
    }
}

Steg 6: Spara den extraherade filen

Se till att FileStream sparas och stängs korrekt.

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

Fullständig kodexempel för att extrahera RAR-filer

Här är ett komplett exempel som visar hur man extraherar RAR-filer i C#:

// Ladda RAR-filen
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Parsar alla poster i arkivet
    foreach (var entry in rarArchive.Entries)
    {
        // Skapa en fil för varje post
        var file = File.Create(entry.Name);
        
        // Öppna arkivposten och spara data till filen
        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);
            }
        }

        // Stäng filströmmen efter att ha sparat
        file.Close();
    }
}

Ytterligare information

  • Du kan filtrera filer baserat på olika kriterier såsom storlek eller datum före extraktionen.
  • Aspose.ZIP-biblioteket stödjer olika arkivformat, vilket möjliggör mångsidig filhantering.

Slutsats

Denna guide har visat hur man extraherar RAR-filer i C# med Aspose.ZIP. Genom att följa de angivna stegen och kodexemplet kan du sömlöst integrera RAR-extraktionsfunktionalitet i dina applikationer. För vidare utforskning, överväg att kolla in handledningar om komprimering av filer eller extraktion av andra arkivformat.

 Svenska