Archivy GZip(.gz) se používají ke kompresi jednoho nebo více souborů pomocí komprimačního algoritmu GNU zip. Běžně se používá pro kompresi souborů v operačních systémech UNIX. V tomto článku se dozvíte, jak komprimovat soubory pomocí GZip v C#. Kromě toho se článek také bude zabývat tím, jak dekomprimovat archivy GZip v C#.
- C# GZip API pro kompresi a dekompresi souborů
- Komprimujte soubory pomocí GZip v C#
- Dekomprimujte archiv GZip v C#
- Extrahujte archiv GZip do Stream v C#
Komprimujte soubory pomocí GZip v C# - Instalace API
Ke kompresi a dekomprimaci souborů pomocí GZip použijeme Aspose.ZIP for .NET. Jedná se o výkonné API, které vám umožní pracovat s oblíbenými archivními formáty včetně ZIP, 7z, GZip atd. API si můžete stáhnout nebo nainstalovat pomocí NuGet.
PM> Install-Package Aspose.Zip
Komprese souborů GZip v C#
Níže jsou uvedeny kroky ke kompresi souborů pomocí GZip v C#.
- Vytvořte objekt třídy GzipArchive.
- Pomocí metody GzipArchive.SetSource(String) přidejte soubor do archivu.
- Vytvořte archiv GZip pomocí metody GzipArchive.Save(String).
Následující ukázka kódu ukazuje, jak komprimovat soubory do GZip v C#.
using (GzipArchive archive = new GzipArchive())
{
// nastavit zdroj
archive.SetSource("data.bin");
// vytvořit archiv
archive.Save("archive.gz");
}
Dekomprimujte GZip v C#
Níže jsou uvedeny kroky k dekomprimaci archivu GZip v C#.
- Vytvořte objekt třídy GzipArchive a inicializujte jej pomocí cesty archivu GZip.
- Vytvořte soubor pro extrahovaný obsah pomocí metody File.Create(String).
- Otevřete GZip pro extrakci pomocí metody GZipArchive.Open().
- Přečtěte si extrahovaný obsah a zapište jej do souboru.
Následující ukázka kódu ukazuje, jak dekomprimovat archiv GZip v C#.
// načtěte archiv GZip
using (var archive = new GzipArchive("archive.gz"))
{
// vytvořit soubor
using (var extracted = File.Create("data.bin"))
{
// otevřít archiv
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
// zapisovat do souboru
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Extrahujte GZip do Stream v C#
Archiv GZip můžete také extrahovat do objektu paměťového toku. Následují kroky k provedení této operace.
- Vytvořte nový objekt MemoryStream.
- Vytvořte objekt třídy GzipArchive a inicializujte jej pomocí cesty archivu GZip.
- Extrahujte GZip a zkopírujte jej do paměťového streamu pomocí metody GZipArchive.Open().CopyTo(MemoryStream).
Následující ukázka kódu ukazuje, jak extrahovat archiv GZip do paměťového streamu pomocí C#.
// vytvořit paměťový stream
var ms = new MemoryStream();
// načíst archiv GZip
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// extrahovat a zkopírovat do paměti
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
Komprimujte a dekomprimujte soubory GZip – získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci pro kompresi nebo dekomprimaci archivů GZip bez omezení hodnocení.
Závěr
V tomto článku jste se naučili komprimovat nebo dekomprimovat soubory pomocí GZip v C#. Dále jste viděli, jak extrahovat GZip pro programové streamování pomocí C# .NET. Více o Aspose.ZIP for .NET můžete prozkoumat pomocí dokumentace. Kromě toho nás můžete kontaktovat a sdílet své dotazy prostřednictvím našeho fóra.