/// <summary>
              /// 压缩文件
              /// </summary>
              /// <param name="sourceFile">要压缩的文件名</param>
              /// <param name="destFile">压缩后的文件名</param>
              public static void CompressFile(string sourceFile, string destFile)
              {
                      FileStream sf = File.OpenRead(sourceFile);
                      byte[] data = CompressFile(sf);
                      if (File.Exists(destFile)) File.Delete(destFile);
                      FileStream sfDest = File.Create(destFile);
                      sfDest.Write(data, 0, data.Length);
                      sf.Close();
                      sfDest.Close();
              }
 

 /// <summary>
              /// 压缩文件
              /// </summary>
              /// <param name="fs">原始文件流</param>
              /// <returns>压缩文件流</returns>
              public static byte[] CompressFile(FileStream fs)
              {
                      byte[] buffer = new byte[fs.Length];
                      fs.Read(buffer, 0, (int)fs.Length);
                      MemoryStream ms = new MemoryStream();
                      GZipStream gZipStream = new GZipStream(ms, CompressionMode.Compress);
                      gZipStream.Write(buffer, 0, buffer.Length);
                      gZipStream.Close();
                      ms.Flush();
                      byte[] data = ms.ToArray();
                      ms.Close();
                      return data;
              }

更多推荐