使用GZipStream解压缩.gz文件

Jun*_* HU 5 c# filestream gzipstream

我有几个.gz文件,我想逐个解压缩它们.我在C#中使用GzipStream编写了一个简单的代码,但是失败了.我想知道一个正确而有用的方法来实现我想要的东西.非常感谢.

private string Extrgz(string infile)
{
    string dir = Path.GetDirectoryName(infile);
    string decompressionFileName = dir + Path.GetFileNameWithoutExtension(infile) + "_decompression.bin";
    using (GZipStream instream = new GZipStream(File.OpenRead(infile), CompressionMode.Compress))// ArgumentException...
    {
        using (FileStream outputStream = new FileStream(decompressionFileName, FileMode.Append, FileAccess.Write))
        {
            int bufferSize = 8192, bytesRead = 0;
            byte[] buffer = new byte[bufferSize];
            while ((bytesRead = instream.Read(buffer, 0, bufferSize)) > 0)
            {
                outputStream.Write(buffer, 0, bytesRead);
            }
        }
    }
    return decompressionFileName;
}
Run Code Online (Sandbox Code Playgroud)

Cod*_*der 10

你需要解压缩,但你设置CompressionMode.Compress,替换它CompressionMode.Decompress.

这里的例子.