RAR är ett vanligt använt arkivfilformat som stöder förlustfri komprimering av data. Ofta föredrar människor RAR framför ZIP eftersom det ger en bättre komprimeringshastighet och håller arkivstorleken mindre. Men i vissa fall kan du behöva konvertera RAR-filer till ZIP-arkiv. För att uppnå det tar den här artikeln upp hur man konverterar en RAR-fil till ZIP programmatiskt i C#.
C# .NET API för RAR till ZIP-konvertering
Aspose.ZIP för .NET är ett kraftfullt arkiverings-API som stöder skapandet och manipuleringen av populära arkivformat. Vi kommer att använda detta API för att konvertera RAR-filerna till ZIP-format. För att använda API:t kan du installera det från NuGet eller ladda ner dess DLL från nedladdningssektionen.
PM> Install-Package Aspose.Zip
Konvertera en RAR-fil till ZIP i C#
RAR-filerna kan konverteras till ZIP-format inom några få steg med Aspose.ZIP för .NET. Följande är stegen för att konvertera en RAR-fil till ett ZIP-arkiv i C#.
Skapa en instans av klassen Arkiv för ZIP-arkiv.
Ladda RAR-arkivet med klassen RarArchive.
Gå igenom posterna i RAR-arkivet med RarArchive.Entries-samlingen.
Utför följande steg för varje post i RAR:
Extrahera posten till objektet MemoryStream med metoden RarArchive.Entries[int].Extract(MemoryStream).
Lägg till posten i ZIP med metoden Archive.CreateEntry(String, MemoryStream).
Slutligen sparar du det resulterande ZIP-arkivet med metoden Archive.Save(String).
Följande kodexempel visar hur man konverterar en RAR-fil till ZIP-format i C#.
// Skapa en instans av Archive class för ZIP-arkiv
using (Archive zip = new Archive())
{
// Ladda RAR-arkivet
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Gå igenom poster i RAR-filen
for (int i = 0; i < rar.Entries.Count; i++)
{
// Kopiera varje post från RAR till ZIP
if (!rar.Entries[i].IsDirectory)
{
var ms = new MemoryStream();
rar.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
zip.CreateEntry(rar.Entries[i].Name, ms);
}
else
zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
}
}
// Spara det resulterande ZIP-arkivet
zip.Save("output.zip");
}
Skaffa en gratis API-licens
Du kan få en gratis tillfällig licens för att använda Aspose.ZIP för .NET utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du konverterar ett RAR-arkiv till ZIP-format programmatiskt i C#. Steg-för-steg-guiden och kodexemplet har demonstrerat konverteringen av en RAR-fil till ett ZIP-arkiv inom några få steg. Du kan läsa dokumentationen av Aspose.ZIP för .NET för att utforska andra funktioner. Dessutom kan du dela dina frågor med oss via vårt forum.