使用System.IO.CompressionGZipStream压缩/解压缩大文件

时间:2017-07-28 22:07:48

标签: c# .net system.io.compression

我正在尝试使用System.IO.Compression.GZipStream压缩和解压缩大文件(32Gb)。

我可以压缩文件:

  • 打开GZipStream

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

  • 关闭GZipStream

  • byte[]获取MemoryStream并将其写入文件

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

  

System.IO.InvalidDataException

当我在WinRar中打开这个文件时,我看到文件的大小是512Kb(这是文件的一个部分的大小,我把它分开),但在" packed"列显示文件的完整大小。

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

UPD:方式,我尝试解压缩了。但是,你现在,它解压缩,但文件无效

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

0 个答案:

没有答案