1

这就是我所拥有的:

        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。

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

4

1 回答 1

4

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

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

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

于 2012-07-09T20:01:19.640 回答