使用 C# GZIP 格式压缩和解压缩文件


要使用 GZIP 格式压缩和解压缩文件,请使用 GZipStream 类。

压缩

若要生成一个文件的 zip,请将 GZipStream 类与 FileStream 类搭配使用。设置以下参数。

要生成 zip 的文件和输出 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;
   }
}

更新于: 23-Jun-2020

2K+ 查看

开始你的 职业生涯

完成本课程以获取认证

开始
广告
© . All rights reserved.