使用System.IO.Compression.GZipStream时是否可以设置压缩级别

Mik*_*all 5 .net compression

使用.NET GZipStream压缩流时是否可以设置压缩级别?Ionic Zip似乎为此提供了一个构造函数,但我宁愿不要仅使用库来获得此功能。

joh*_*ose 3

从 .NET 4.5 开始,CompressionLevel枚举已添加到几个构造函数中,用于GZipStream.

选项有:

CompressionLevel.Optimal = 0
CompressionLevel.Fastest = 1
CompressionLevel.NoCompression = 2
Run Code Online (Sandbox Code Playgroud)

因此,您现在可以GZipStream通过传递 a 来创建 a CompressionLevel,它确定压缩数据的程度。

using (GZipStream compressionStream = new GZipStream(stream, CompressionLevel.Optimal))
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

更多信息可以在GZipStream文档CompressionLevel文档中找到。