【问题标题】:InflaterInputStream.Read causes errorsInflaterInputStream.Read 导致错误
【发布时间】:2012-07-09 06:30:39
【问题描述】:

这就是我所拥有的:

        byte[] buff = new byte[1];
        byte[] buffer = { 10, 20, 30, 40 };
        Stream data = new MemoryStream();            
        data.Write(buffer, 2, 2);
        data.Position = 0;
        InflaterInputStream _inflater;            
        _inflater = new InflaterInputStream(data);
        int count = _inflater.Read(buff, 0, 1);

抛出SharpZipBaseException: Header checksum invalid and unexpected EOF异常,data.Position最后为2。

谁能告诉我可能是什么问题以及如何解决?提前致谢。

【问题讨论】:

    标签: c# inputstream sharpziplib


    【解决方案1】:

    InflaterInputStream 期望数据采用“放气”格式。您只写入了两个字节的数据,这不是有效的“放气”文件。

    这样说 - 如果你给 WinZip 一些随机的两个字节的 blob 并要求它解压缩,你希望它做什么?

    这里的错误消息非常清楚:您的文件不够长(意外的 EOF 异常)并且以错误的方式开始文件格式(标题校验和非法)。如有疑问,请始终查看错误消息并思考为什么您会收到该错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多