Я пытаюсь прочитать сжатые данные gzip следующим образом:
using (var input = new BinaryReader(new GZipStream(fileStream, CompressionMode.Decompress)))
{
while(input.PeekChar() != -1)
{
//use BinaryReader methods I need
}
}
Но свойство GZipStream
CanSeek
всегда false
, поэтому input.PeekChar()
всегда -1
.
Я не хочу работать с GZipStream
напрямую.Я не могу прочитать весь файл, потому что он может быть слишком большим.Я не могу прочитать байтовые массивы, потому что я анализирую данные впоследствии, поэтому некоторые байты не могут быть разделены и должны быть проанализированы вместе.
Есть ли способ определить, произошло ли eof с использованием BinaryReader
без перехвата исключения?