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#.
- .NET API zum Komprimieren und Dekomprimieren von Dateien mit GZip
- Dateien mit GZip in C# komprimieren
- Dekomprimieren Sie ein GZip-Archiv in C#
- Extrahieren Sie ein GZip-Archiv in Stream 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.
- Erstellen Sie ein Objekt der Klasse GzipArchive.
- Verwenden Sie die Methode GzipArchive.SetSource(String), um eine Datei zum Archiv hinzuzufügen.
- Erstellen Sie ein GZip-Archiv mit der methode GzipArchive.Save(String).
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.
- Erstellen Sie ein neues MemoryStream objekt.
- Erstellen Sie ein Objekt der Klasse GzipArchive und initialisieren Sie es mit dem Pfad des GZip-Archivs.
- GZip extrahieren und mit der methode GZipArchive.Open().CopyTo(MemoryStream) in den Speicherstream kopieren.
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.