在 C# 中創建 GZip

GZip 檔案 (.gz) 用於使用 GNU zip 壓縮算法壓縮一個或多個文件。它通常用於 UNIX 操作系統中的文件壓縮。在本文中,您將學習如何在 C# 中以編程方式使用 GZip (.gz) 壓縮文件。此外,本文還將介紹如何在 C# 中解壓縮 GZip 存檔。

C# GZip 壓縮和解壓縮 API - 免費下載

要使用 GZip 壓縮和解壓縮文件,我們將使用 Aspose.ZIP for .NET。它是一個強大的 API,可讓您使用流行的存檔格式,包括 ZIP7z、GZip 等。您可以 下載 API 或使用 [NuGet] 安裝它8.

PM> Install-Package Aspose.Zip

在 C# 中使用 GZip 壓縮文件

以下是在 C# 中使用 GZip 壓縮文件的步驟。

以下代碼示例展示瞭如何在 C# 中將文件壓縮為 GZip。

using (GzipArchive archive = new GzipArchive())
{
    // 設置源
    archive.SetSource("data.bin");
    
    // 創建存檔
    archive.Save("archive.gz");
}

在 C# 中解壓縮 GZip 存檔

以下是使用 Aspose.ZIP for .NET 在 C# 中解壓縮 GZip 存檔的步驟。

  • 創建 GzipArchive 類的對象並使用 GZip 存檔的路徑對其進行初始化。
  • 使用 File.Create(String) 方法為提取的內容創建一個文件。
  • 使用 GZipArchive.Open() 方法打開 GZip 進行提取。
  • 讀取提取的內容並將其寫入文件。

以下代碼示例顯示瞭如何使用 C# 解壓縮 GZip 存檔。

// 加載 GZip 存檔
using (var archive = new GzipArchive("archive.gz"))
{
    // 創建一個文件
    using (var extracted = File.Create("data.bin"))
    {
        // 打開存檔
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        
        // 寫入文件
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

C# 將 GZip 提取到流中

您還可以將 GZip 存檔提取到內存流對像中。以下是執行此操作的步驟。

以下代碼示例展示瞭如何使用 C# 將 GZip 存檔提取到內存流中。

// 創建內存流
var ms = new MemoryStream();

// 載入 GZip 檔案
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
    // 提取並複製到內存流
    archive.Open().CopyTo(ms);
    Console.WriteLine(archive.Name);
}

C# GZip 壓縮和解壓縮 API - 獲得免費許可證

您可以獲得免費的臨時許可證,以便不受評估限制地使用 API。

結論

在本文中,您了解瞭如何在 C# 中使用 GZip 壓縮或解壓縮文件。此外,您還了解瞭如何提取 GZip 以使用 C# .NET 以編程方式進行流式傳輸。您可以使用 文檔 探索更多關於 Aspose.ZIP for .NET 的信息。此外,您可以通過我們的 論壇 聯繫我們分享您的疑問。

也可以看看