RAR je běžně používaný formát archivního souboru, který podporuje bezztrátovou kompresi dat. Lidé často dávají přednost RAR před ZIP, protože poskytuje lepší kompresní poměr a udržuje menší velikost archivu. V určitých případech však může být nutné převést soubory RAR na archivy ZIP. Chcete-li toho dosáhnout, tento článek popisuje, jak převést soubor RAR na ZIP programově v C#.
C# .NET API pro konverzi RAR na ZIP
Aspose.ZIP for .NET je výkonné archivační API, které podporuje vytváření a manipulaci s oblíbenými archivními formáty. Toto API využijeme k převodu souborů RAR do formátu ZIP. Chcete-li API používat, můžete si jej nainstalovat z NuGet nebo si stáhnout jeho DLL z sekce ke stažení.
PM> Install-Package Aspose.Zip
Převést soubor RAR na ZIP v C#
Soubory RAR lze převést do formátu ZIP během několika kroků pomocí Aspose.ZIP pro .NET. Níže jsou uvedeny kroky pro převod souboru RAR na archiv ZIP v C#.
Vytvořte instanci třídy Archive pro archiv ZIP.
Načtěte archiv RAR pomocí třídy RarArchive.
Procházejte záznamy RAR archivu pomocí kolekce RarArchive.Entries.
Pro každý záznam v RAR proveďte následující kroky:
Extrahujte záznam do objektu MemoryStream pomocí metody RarArchive.Entries[int].Extract(MemoryStream).
Přidejte záznam do ZIP pomocí metody Archive.CreateEntry(String, MemoryStream).
Nakonec výsledný ZIP archiv uložte pomocí metody Archive.Save(String).
Následující ukázka kódu ukazuje, jak převést soubor RAR do formátu ZIP v C#.
// Vytvořte instanci třídy Archive pro archiv ZIP
using (Archive zip = new Archive())
{
// Načtěte archiv RAR
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Procházejte záznamy souboru RAR
for (int i = 0; i < rar.Entries.Count; i++)
{
// Zkopírujte každý záznam z RAR do 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);
}
}
// Uložte výsledný ZIP archiv
zip.Save("output.zip");
}
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání Aspose.ZIP pro .NET bez omezení hodnocení.
Závěr
V tomto článku jste se naučili, jak převést archiv RAR do formátu ZIP programově v C#. Podrobný průvodce a ukázka kódu demonstrovaly převod souboru RAR na archiv ZIP v několika krocích. Můžete si přečíst dokumentaci Aspose.ZIP pro .NET a prozkoumat další funkce. Kromě toho s námi můžete sdílet své dotazy prostřednictvím našeho fóra.