首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从包装GZipStream读取

从包装GZipStream读取
EN

Stack Overflow用户
提问于 2019-02-23 16:08:20
回答 1查看 160关注 0票数 0

我试图读取如下压缩的gzip数据:

代码语言:javascript
复制
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。我看不懂整个文件,因为它可能太大了。我不能按字节数组读取,因为之后我解析数据,所以一些字节不能被拆分,必须一起解析。

是否有一种方法可以确定使用BinaryReader是否发生eof而不捕获异常?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-23 16:16:12

是否有一种方法可以确定使用BinaryReader是否发生eof而不捕获异常?

不是个好主意。从技术上讲,您可以将GZipStream封装在自定义流中,该流支持使用小型缓冲区进行查找。但这不值得你这么做。

在执行IO的代码路径中,捕获异常的成本不高。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54843424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档