Wie man RAR-Dateien mit C# extrahiert

Wie man RAR-Dateien mit C# extrahiert

In diesem Leitfaden werden wir den Prozess des Extrahierens von RAR-Dateien mit C# behandeln. Dieses Tutorial enthält die notwendigen Ressourcen zur Einrichtung der Entwicklungsumgebung, eine umfassende Liste von Schritten, die die Programmierlogik erläutert, und ausführbaren Beispielcode zum Entpacken von RAR-Dateien.

Vorteile des Extrahierens von RAR-Dateien

  1. Kompression:
    • Das RAR-Format bietet typischerweise bessere Kompressionsverhältnisse im Vergleich zu ZIP.
  2. Mehrteilige Archive:
    • RAR-Dateien unterstützen mehrteilige Archive, die es ermöglichen, große Datensätze in kleinere Dateien aufzuteilen.
  3. Dateiinformationen:
    • Ermöglicht den Zugriff auf verschiedene Details (Größe, Datum usw.) über Dateien im Archiv vor der Extraktion.

Voraussetzungen: Vorbereitung der Umgebung

  1. Richten Sie Visual Studio oder eine kompatible .NET-IDE ein.
  2. Installieren Sie Aspose.ZIP über den NuGet-Paket-Manager.

Schritt-für-Schritt-Anleitung zum Extrahieren von RAR-Dateien

Schritt 1: Aspose.ZIP installieren

Fügen Sie die Aspose.ZIP-Bibliothek zu Ihrem Projekt hinzu.

Install-Package Aspose.ZIP

Schritt 2: Die RAR-Datei laden

Laden Sie die Quell-RAR-Datei mit der Klasse RarArchive.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Die Verarbeitungsschritte folgen hier
}

Schritt 3: Die Einträge analysieren

Durchlaufen Sie alle Einträge im RAR-Archiv.

foreach (var entry in rarArchive.Entries)
{
    // Weitere Verarbeitungsschritte folgen hier
}

Schritt 4: Einen FileStream erstellen

Erstellen Sie einen FileStream für jeden Eintrag, um die extrahierten Daten zu schreiben.

var file = File.Create(entry.Name);

Schritt 5: Bytes aus dem Eintrag lesen

Lesen Sie alle Bytes aus dem aktuellen Eintrag und speichern Sie sie im 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);
    }
}

Schritt 6: Die extrahierte Datei speichern

Stellen Sie sicher, dass der FileStream ordnungsgemäß gespeichert und geschlossen wird.

file.Close();
file.Dispose();

Vollständiges Codebeispiel zum Extrahieren von RAR-Dateien

Hier ist ein vollständiges Beispiel, das zeigt, wie man RAR-Dateien in C# extrahiert:

// Laden Sie die RAR-Datei
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Alle Einträge im Archiv analysieren
    foreach (var entry in rarArchive.Entries)
    {
        // Eine Datei für jeden Eintrag erstellen
        var file = File.Create(entry.Name);
        
        // Den Archiv-Eintrag öffnen und Daten in die Datei speichern
        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);
            }
        }

        // Den Datei-Stream nach dem Speichern schließen
        file.Close();
    }
}

Zusätzliche Informationen

  • Sie können Dateien basierend auf verschiedenen Kriterien wie Größe oder Datum vor der Extraktion filtern.
  • Die Aspose.ZIP-Bibliothek unterstützt verschiedene Archivformate, die eine vielseitige Dateimanipulation ermöglichen.

Fazit

Dieser Leitfaden hat demonstriert, wie man RAR-Dateien in C# mit Aspose.ZIP extrahiert. Durch das Befolgen der beschriebenen Schritte und des Beispielcodes können Sie die Funktionalität zur RAR-Extraktion nahtlos in Ihre Anwendungen integrieren. Für weiterführende Erkundungen sollten Sie Tutorials zum Komprimieren von Dateien oder zum Extrahieren anderer Archivformate in Betracht ziehen.

 Deutsch