用 C# 壓縮和解壓縮檔案


在 C# 中使用 System.IO.Compression 名稱空間壓縮和解壓縮檔案。

壓縮

要壓縮某個檔案,請將 GZipStream 類與 FileStream 類一起使用。設定以下引數:要壓縮的檔案以及輸出 zip 檔案的名稱。

這裡,outputFile 是輸出檔案,檔案將被讀入 FileStream。

示例

using(var compress = new GZipStream(outputFile, CompressionMode.Compress, false)) {
   byte[] b = new byte[inFile.Length];
   int read = inFile.Read(b, 0, b.Length);
   while (read > 0) {
      compress.Write(b, 0, read);
      read = inFile.Read(b, 0, b.Length);
   }
}

解壓縮

要解壓縮某個檔案,請使用相同的 GZipStream 類。設定以下引數:原始檔以及輸出檔名稱。

從 zip 原始檔開啟 GZipStream。

using (var zip = new GZipStream(inStream, CompressionMode.Decompress, true))

要解壓縮,請使用迴圈並且只要流中有資料就要讀取。寫入到輸出流中,生成一個檔案。該檔案是我們的解壓縮檔案。

示例

using(var zip = new GZipStream(inputStream, CompressionMode.Decompress, true)) {
   byte[] b = new byte[inputStream.Length];
   while (true) {
      int count = zip.Read(b, 0, b.Length);
      if (count != 0)
      outputStream.Write(b, 0, count);
      if (count != b.Length)
      break;
   }
}

更新於: 2020-06-23

2K+ 瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.