0

我正在尝试使用System.IO.Compression.GZipStream.

我可以压缩文件:

  • 打开GZipStream

  • 将文件的一部分压缩为MemoryStream

  • GZipStream

  • byte[]从文件中取出MemoryStream并将其写入文件

我可以用 WinRar 打开这个文件,也可以用 WinRar 解压缩它,但是当我尝试使用 解压缩它时GZipStream,我得到以下异常:

System.IO.InvalidDataException

当我在 WinRar 中打开此文件时,我看到文件的大小为 512Kb(这是文件的单个部分的大小,我将其分割),但在“打包”列中,它显示了文件的完整大小.

所以我的问题是当我压缩文件时我做错了什么?

UPD:顺便说一句,我尝试解压缩的方法是关闭的。但是,你现在,它解压缩,但文件无效

using (var gzip = new GZipStream(File.OpenRead("1.gz"), CompressionMode.Decompress))
    using (var file = File.OpenWrite("2.flac"))
        gzip.CopyTo(file);
4

0 回答 0