Erstellen Sie GZip in C#

GZip archiv (.gz) werden verwendet, um eine oder mehrere Dateien mit dem GNU-Zip-Komprimierungsalgorithmus zu komprimieren. Es wird häufig für die Dateikomprimierung in UNIX-Betriebssystemen verwendet. In diesem Artikel erfahren Sie, wie Sie Dateien mit GZip (.gz) programmgesteuert in C# komprimieren. Darüber hinaus behandelt der Artikel auch das Dekomprimieren von GZip-Archiven in C#.

C# API zum Komprimieren und Dekomprimieren von Dateien mit GZip

Um Dateien mit GZip zu komprimieren und zu dekomprimieren, verwenden wir Aspose.ZIP for .NET. Es ist eine leistungsstarke API, mit der Sie mit gängigen Archivformaten wie ZIP, 7z, GZip usw. arbeiten können. Sie können die API entweder herunterladen oder mit [NuGet] installieren. 8.

PM> Install-Package Aspose.Zip

Dateien mit GZip in C# komprimieren

Im Folgenden sind die Schritte zum Komprimieren von Dateien mit GZip in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie Dateien in C# in GZip komprimiert werden.

using (GzipArchive archive = new GzipArchive())
{
    // Quelle einstellen
    archive.SetSource("data.bin");
    
    // Archiv erstellen
    archive.Save("archive.gz");
}

Dekomprimieren Sie ein GZip-Archiv in C#

Im Folgenden finden Sie die Schritte zum Dekomprimieren eines GZip-Archivs in C# mit Aspose.ZIP for .NET.

  • Erstellen Sie ein Objekt der Klasse GzipArchive und initialisieren Sie es mit dem Pfad des GZip-Archivs.
  • Erstellen Sie eine Datei für extrahierte Inhalte mit der methode File.Create(String).
  • Öffnen Sie GZip zum Extrahieren mit der methode GZipArchive.Open().
  • Lesen Sie den extrahierten Inhalt und schreiben Sie ihn in die Datei.

Das folgende Codebeispiel zeigt, wie ein GZip-Archiv mit C# dekomprimiert wird.

// Laden Sie das GZip-Archiv
using (var archive = new GzipArchive("archive.gz"))
{
    // eine Datei erstellen
    using (var extracted = File.Create("data.bin"))
    {
        // offenes Archiv
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        
        // in Datei schreiben
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

Extrahieren Sie ein GZip-Archiv in Stream in C#

Sie können ein GZip-Archiv auch in ein Memory-Stream objekt extrahieren. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie ein GZip-Archiv mit C# in einen Speicherstream extrahieren.

// Erstellen Sie einen Speicherstrom
var ms = new MemoryStream();

// GZip-Archiv laden
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
    // extrahieren und in den Speicherstrom kopieren
    archive.Open().CopyTo(ms);
    Console.WriteLine(archive.Name);
}

Holen Sie sich eine kostenlose API Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Dateien mit GZip in C# komprimieren oder dekomprimieren. Außerdem haben Sie gesehen, wie Sie eine GZip Datei extrahieren, um sie programmgesteuert zu streamen. Weitere Informationen zu Aspose.ZIP for .NET finden Sie unter Dokumentation. Darüber hinaus können Sie uns kontaktieren, um Ihre Fragen über unser Forum zu teilen.

Siehe auch