首页 > 解决方案 > 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。我怎样才能做到这一点?

标签: c#.net

解决方案


推荐阅读