GZipStream工作但扩展丢失

Dav*_*ras 8 .net c# compression gzipstream

我正在使用以下代码来压缩文件并且它工作正常但是当我使用WinRar解压缩时,我得到没有扩展名的原始文件名,任何线索为什么如果文件名是myReport.xls我解压缩时我只得到myReport

using (var fs = new FileStream(fileName, FileMode.Open))
{
    byte[] input = new byte[fs.Length];
    fs.Read(input, 0, input.Length);
    fs.Close();

    using (var fsOutput = new FileStream(zipName, FileMode.Create, FileAccess.Write))
    using(var zip = new GZipStream(fsOutput, CompressionMode.Compress))
    {
        zip.Write(input, 0, input.Length);
        zip.Close();
        fsOutput.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*ert 18

GZip只压缩一个文件 - 不知道名字.因此,如果您压缩文件,myReport.xls您应该命名它myReport.xls.gz.在解压缩时,将删除最后一个文件扩展名,因此您最终得到原始文件名.

它是如何在Unix/Linux中使用它的方式...