Vytvořte GZip v C#

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#.

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#.

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.

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.

Viz také