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
- Komprimering:
- RAR-formatet ger vanligtvis bättre komprimeringsförhållanden jämfört med ZIP.
- Flerskiktsarkiv:
- RAR-filer stödjer flerskiktsarkiv, vilket gör att stora datamängder kan delas upp i mindre filer.
- 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
- Ställ in Visual Studio eller någon kompatibel .NET IDE.
- 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.