【文件属性】:
文件名称:SharpZipLib 源代码和重新编译后的dll文件
文件大小:1.21MB
文件格式:RAR
更新时间:2013-02-14 10:47:18
SharpZipLib dll
在使用ICSharpCode.SharpZipLib进行目录压缩后,再解压缩是提示这个错误Size mismatch: 4294967295;126976 70202;126976
我已经重新编译过了,解决了该问题。
解决方法:在项目所引用库“ICSharpCode.SharpZipLib.dll”的ICSharpCode.SharpZipLib.Zip.Compression. ZipInputStream.cs类中找到抛出异常的代码段:
int BodyRead(byte[] buffer, int offset, int count)
{
...
if ((flags & 8) == 0 && (inf.TotalIn != csize || inf.TotalOut != size)) {
throw new ZipException("Size mismatch: " + csize + ";" + size + " <-> " + inf.TotalIn + ";" + inf.TotalOut);
}
...
return count;
}
将
if ((flags & 8) == 0 && (inf.TotalIn != csize || inf.TotalOut != size)) {
throw new ZipException("Size mismatch: " + csize + ";" + size + " <-> " + inf.TotalIn + ";" + inf.TotalOut);
}
注释掉即可,解压和压缩一切都正常。
网友评论
- 不 错
- 看了下源码,才发现自己代码上的异常!
- 源码看了一下,解决了我的问题
- 总算解决了我的问题
- 代码修改后解决了问题
- 这个压缩解压的确实很好用!
- 确实好,解决了我的大问题,一般还是找最新版的好。
- 好用。对我启发很大
- 很有帮助,多谢楼主。呵呵,不能直接用,参照做了个压缩类,针对中文的时候也出现了些问题,后来在网上查了些资料,改了改。
- 直接把源码加载到项目中了。问题修复了。
- 这个压缩解压的确实很好用!
- 看了下源码,才发现自己代码上的异常!
- 虽然你改了,我下了还是不行,我自己把源码拿过来,看到异常是压缩文件头的问题,不过还是谢谢