Du kan lagra flera filer i komprimerad form som RAR-arkiv. I den här artikeln kommer du att lära dig hur du Unrar eller extraherar filer från ett komprimerat RAR-arkiv i C# .NET. Mer information finns i följande avsnitt:
- C# Unrar (RAR Extractor eller Opener) API – Gratis nedladdning
- Unrar eller extrahera en specifik fil från RAR i C#
- Extrahera eller ta bort alla filer från RAR i C#
- C# Unrar en viss fil från lösenordsskyddad RAR
- Ta bort alla filer från lösenordsskyddat RAR-arkiv i C#
- Få gratis licens
C# RAR Extractor eller Öppnare till Unrar RAR4 RAR5 – Gratis nedladdning
Aspose.ZIP for .NET API stöder arkivering och extrahering av filer från komprimerade format som RAR (RAR4, RAR5), ZIP, 7Z, etc. Du kan installera API:t genom att ladda ner det från Nedladdningar avsnitt, eller så kan du konfigurera det med följande kommando med Package Manager Console i Microsoft Visual Studio:
PM> Install-Package Aspose.Zip
Ta bort en fil från RAR i C#
Du kan unrar eller extrahera en specifik fil från ett RAR-arkiv med följande steg:
- Ladda in RAR-fil med klassobjektet RarArchive.
- Skapa en fil med metoden Create().
- Öppna en specifik post från RAR-arkivet.
- Skriv extraherade data till en fil.
Koden nedan visar hur man avrar eller extraherar en specifik fil från RAR-arkivet programmatiskt med C#:
// Ladda in RAR-fil.
using (RarArchive archive = new RarArchive("Sample.rar"))
{
// Skapa en fil med metoden Create().
using (var destination = File.Create("Extracted_File1.txt"))
{
// Öppna en post från RAR-arkivet.
using (var source = archive.Entries[0].Open())
{
byte[] buffer = new byte[1024];
int bytesRead;
// Skriv extraherade data till filen.
while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
destination.Write(buffer, 0, bytesRead);
}
}
}
Extrahera alla filer från RAR-arkivet i C#
Du kan unrar eller extrahera alla filer från ett RAR-arkiv i C# med följande steg:
- Ladda in RAR-fil.
- Extrahera alla filer till en katalog.
Följande kod visar hur man tar bort alla filer från RAR-arkivet programmatiskt i C#:
// Ladda in RAR-fil.
RarArchive archive = new RarArchive("Sample.rar");
// Unrar eller extrahera alla filer från arkivet
archive.ExtractToDirectory("extracted");
C# Unrar en viss fil från lösenordsskyddad RAR
Du kan ta bort en viss fil från ett lösenordsskyddat RAR-arkiv med stegen nedan:
- Ladda RAR-filen krypterad med lösenord.
- Ange filnamnet för utdatafilen.
- Ta bort den lösenordsskyddade filen med metoden Extract().
Följande kod förklarar hur man tar bort en viss fil från ett lösenordsskyddat eller krypterat arkiv i C#:
// Ladda RAR-filen Encypted with Password.
FileInfo fi = new FileInfo("Data_Password.rar");
using (RarArchive archive = new RarArchive(fi.OpenRead()))
{
// Ange filnamn för utdatafilen.
using (FileStream destination = File.Create("Password_Extracted_File1.txt"))
{
// Extrahera den lösenordsskyddade filen.
archive.Entries[0].Extract(destination, "Aspose");
}
}
C# Unrar alla filer från lösenordsskyddat RAR-arkiv
Du kan extrahera alla filer från ett lösenordskrypterat RAR-arkiv i C# med nedanstående steg:
- Ladda en krypterad RAR-fil.
- Ta bort eller extrahera lösenordsskyddade filer från arkivet.
Följande kodsnutt visar hur man tar bort alla filer från en lösenordskrypterad RAR-fil programmatiskt i C#:
// Ladda en krypterad RAR-fil
RarArchive archive = new RarArchive("Data_Password.rar");
// Ta bort eller extrahera lösenordsskyddade filer från arkivet
// Ange lösenord som sträng vid metodens andra argument
archive.ExtractToDirectory("PasswordExtracted" , "Aspose");
C# .NET Unrar API - Skaffa en gratis licens
Du kan utvärdera API:et utan några begränsningar genom att ansöka om en gratis temporär licens.
Slutsats
I den här artikeln har du lärt dig alla användningsfall om hur man tar bort eller extraherar filer från RAR-arkivet i C#. Den diskuterar också scenariot när RAR-filen är krypterad med lösenordsskydd där du kan extrahera en specifik fil eller alla filer till en katalog i C#. Dessutom kan du besöka API-dokumentation för att kolla in flera andra funktioner. Kontakta oss gärna på Free Support Forum för eventuella frågor.