GZip 檔案 (.gz) 用於使用 GNU zip 壓縮算法壓縮一個或多個文件。它通常用於 UNIX 操作系統中的文件壓縮。在本文中,您將學習如何在 C# 中以編程方式使用 GZip (.gz) 壓縮文件。此外,本文還將介紹如何在 C# 中解壓縮 GZip 存檔。
C# GZip 壓縮和解壓縮 API - 免費下載
要使用 GZip 壓縮和解壓縮文件,我們將使用 Aspose.ZIP for .NET。它是一個強大的 API,可讓您使用流行的存檔格式,包括 ZIP、7z、GZip 等。您可以 下載 API 或使用 [NuGet] 安裝它8.
PM> Install-Package Aspose.Zip
在 C# 中使用 GZip 壓縮文件
以下是在 C# 中使用 GZip 壓縮文件的步驟。
- 創建 GzipArchive 類的對象。
- 使用 GzipArchive.SetSource(String) 方法將文件添加到存檔。
- 使用 GzipArchive.Save(String) 方法創建 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 存檔提取到內存流對像中。以下是執行此操作的步驟。
- 創建一個新的 MemoryStream 對象。
- 創建一個 GzipArchive 類的對象並使用 GZip 存檔的路徑對其進行初始化。
- 使用 GZipArchive.Open().CopyTo(MemoryStream) 方法提取 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 的信息。此外,您可以通過我們的 論壇 聯繫我們分享您的疑問。