c# - C# .NET 从另一个(大)流的一部分制作 GZipStream
问题描述
所以我想解压缩一些存储在文件中的数据。我目前使用的解决方案大致如下:
FileStream fileStream = new FileStream([File path or whatever])
BinaryReader brStream = new BinaryReader(fileStream)
brStream.BaseStream.Position = [Address of the data I want]
byte[] relevantBytes = brStream.readBytes([Length of the data I want])
MemoryStream memoryStream = new MemoryStream(relevantBytes)
GZipStream gZipStream = new GZipStream(memoryStream, CompressionMode.Decompress)
但是当我压缩/解压缩的数据很大时,就会出现问题。我不希望所有这些都在记忆中。我宁愿给 GZipStream 一个具有起始索引和长度的 FileStream。我怎样才能做到这一点?