如何在保存到磁盘之前压缩文件?

NIl*_*nke 5 c# c#-4.0

我想在物理上保存在磁盘上之前压缩文件.

我尝试使用压缩和解压缩方法(MSDN示例代码),但所有方法都需要一个已经物理存储在磁盘上的文件.

Jar*_*Par 7

最简单的方法是将文件作为a打开,Stream并使用压缩API包装它GZipStream.

using (var fileStream = File.Open(theFilePath, FileMode.OpenOrCreate) {
  using (var stream = new GZipStream(fileStream, CompressionMode.Compress)) {
    // Write to the `stream` here and the result will be compressed
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 然后@NIleshLanke使用`GZipStream`和`CompressionMode.Decompress`选项 (2认同)