ICSharpCode.SharpZipLib 判断压缩后的文件是否可用?
ICSharpCode.SharpZipLib 判断压缩后的文件是否可用?
http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx
使用 ICSharpCode.SharpZipLib 压缩完文件后怎样去简单验证下 ,压缩文件是否完整??
[解决办法]
我就觉得他的方法我可以很容易理解!
你可以仅仅读取解压下的一点点byte[],例如仅仅读取10K字节。
但是无论如何,所谓“判断是否完整”是准确的吗?不解压的话如何断言是否完整。断言不完整也许容易,例如我说的“读取10K字节”。但是要断言完整,不完全解压就不太可能。
将问题从务实操作变成了苛求完美,那么就改变了态度,不会有更简单的答案。
[解决办法]
public bool ValidZipFile(string TargetFile)
{
try
{
ZipInputStream s = new ZipInputStream(File.OpenRead(TargetFile.Trim()));
ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null)
{
string fileName = Path.GetFileName(theEntry.Name);
if (fileName != String.Empty)
{
int size = 2048;
byte[] data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size <= 0) break;
}
}
}
s.Close();
return true;
}
catch //(Exception ex)
{
return false;
}
}
笨点来 全查一遍