我正在尝试使用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);