So I want to decompress some data stored in a file. The solution I am currently using looks roughly like this:
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)
But the problem arises when the data I'm compressing/decompressing is large. I don't want all of that in memory. I would prefer to give GZipStream a FileStream with a starting index and length. How can I do that?