日期:2014-05-18  浏览次数:21316 次

请问如何判断一个文件是合法的压缩文件
我有一堆文件压缩,但是里面有若干个是坏的。
我用导入了7z的dll,打算循环遍历文件把坏的剔除掉。有没有办法能够不解压文件就能知道某个文件是损坏的?


------解决方案--------------------
抄自stackoverflow:

var z = new SevenZipExtractor(File.OpenRead(path));

(http://stackoverflow.com/questions/5978567/detecting-if-a-file-is-an-archive-using-7zip)
------解决方案--------------------
能解压的就是好的 不能就是坏的咯 具体代码木玩过
------解决方案--------------------
校验的关键是压缩文件中存在校验码(一般是CRC32),解压缩看和校验码是否相同。

winrar也是这个原理。