RAR ist ein häufig verwendetes Archivdateiformat, das die verlustfreie Komprimierung von Daten unterstützt. Oft bevorzugen Leute RAR gegenüber ZIP, weil es eine bessere Komprimierungsrate bietet und die Archivgröße kleiner hält. In bestimmten Fällen müssen Sie jedoch möglicherweise RAR-Dateien in ZIP-Archive konvertieren. Um dies zu erreichen, behandelt dieser Artikel, wie Sie eine RAR-Datei programmgesteuert in C# in ZIP konvertieren.
C# .NET-API für RAR-zu-ZIP-Konvertierung
Aspose.ZIP for .NET ist eine leistungsstarke Archivierungs-API, die die Erstellung und Bearbeitung gängiger Archivformate unterstützt. Wir werden diese API verwenden, um die RAR-Dateien in das ZIP-Format zu konvertieren. Um die API zu verwenden, können Sie sie von NuGet installieren oder ihre DLL aus dem Downloadbereich herunterladen.
PM> Install-Package Aspose.Zip
Konvertieren Sie eine RAR-Datei in C# in ZIP
Die RAR-Dateien können mit Aspose.ZIP for .NET in wenigen Schritten in das ZIP-Format konvertiert werden. Im Folgenden sind die Schritte zum Konvertieren einer RAR-Datei in ein ZIP-Archiv in C# aufgeführt.
Erstellen Sie eine Instanz der Klasse Archive für das ZIP-Archiv.
Laden Sie das RAR-Archiv mit der Klasse RarArchive.
Durchlaufen Sie die Einträge des RAR-Archivs mit der Sammlung RarArchive.Entries.
Führen Sie für jeden Eintrag in RAR die folgenden Schritte aus:
Extrahieren Sie den Eintrag mit der Methode RarArchive.Entries[int].Extract(MemoryStream) in das Objekt MemoryStream.
Fügen Sie den Eintrag mit der Methode Archive.CreateEntry(String, MemoryStream) zu ZIP hinzu.
Speichern Sie abschließend das resultierende ZIP-Archiv mit der Methode Archive.Save(String).
Das folgende Codebeispiel zeigt, wie eine RAR-Datei in C# in das ZIP-Format konvertiert wird.
// Erstellen Sie eine Instanz der Archive-Klasse für das ZIP-Archiv
using (Archive zip = new Archive())
{
// Laden Sie das RAR-Archiv
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Durchlaufen Sie die Einträge der RAR-Datei
for (int i = 0; i < rar.Entries.Count; i++)
{
// Kopieren Sie jeden Eintrag von RAR nach 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);
}
}
// Speichern Sie das resultierende ZIP-Archiv
zip.Save("output.zip");
}
Holen Sie sich eine kostenlose API-Lizenz
Sie können eine kostenlose temporäre Lizenz erwerben, um Aspose.ZIP für .NET ohne Evaluierungseinschränkungen zu verwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie ein RAR-Archiv programmgesteuert in C# in das ZIP-Format konvertieren. Die Schritt-für-Schritt-Anleitung und das Codebeispiel haben die Konvertierung einer RAR-Datei in ein ZIP-Archiv in wenigen Schritten demonstriert. Sie können die Dokumentation von Aspose.ZIP für .NET lesen, um andere Funktionen zu erkunden. Darüber hinaus können Sie uns Ihre Fragen über unser Forum mitteilen.