怎样批量查找大量zip包里有无某个文件?
怎样批量查找大量zip包里有无某个文件?例如,我想知道一批zip文件里面是否包含有文件:readme.txt,有则返回1,否则返回0。
希望能满足批量查询。
zip包有如下特点:
1、zip文件名中包含中文、空格,而且是长文件名;
2、zip包里有多个目录;
我知道可以通过zlib的某个函数来完成,就是不知道是哪个。
谢谢老师们!
还有,听说用SharpZipLib.dll也行,c#代码如下,不知vb怎么写?
using (ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) {
ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null) {
if(FileName==theEntry.Name)
{
return true;
}
}
}
要用到ICSharpCode.SharpZipLib.dll
我还知道,有位高手开发了一个QuickZIP,用的还是ICSharpCode.SharpZipLib.dll,可以简单的使用。
http://blog.csdn.net/ZIP_xG/archive/2010/07/24/5761592.aspx --------------------编程问答-------------------- 来往的人不少啊,没人关注,顶上去。 --------------------编程问答-------------------- 继续顶上去,希望高手关注 --------------------编程问答-------------------- --------------------编程问答-------------------- 给你个简洁的办法:
1.安装个winrar.目录里面有个rar.exe
2.调用
C:\>D:\Program Files\WinRAR\rar.exe lb sql.rar
sql.txt
安装序列号.txt
EE_hh.rar
写个程序执行命令,获取文件列表.然后再根据规格比对文件名称 --------------------编程问答-------------------- 感谢楼上关注!但这个不是我希望的。
希望:
设置循环,每次读入一个zip,获取包里的文件信息,检查文件列表里有无那个文件,返回结果。这些都在内存里进行;
QuickZIP是符合要求的,我就是不知怎么用,作者1年多没来这里了:
http://blog.csdn.net/zip_xg/article/details/5764299 --------------------编程问答-------------------- 顶上去,求解决!! --------------------编程问答-------------------- vb和c# 有差吗?http://www.developerfusion.com/tools/convert/csharp-to-vb/ --------------------编程问答-------------------- 谢谢您,这个转换不错,但问题还是没有解决。 --------------------编程问答-------------------- 顶上去希望有高手指导! --------------------编程问答-------------------- 顶上去,希望有高手给个例子啊 --------------------编程问答-------------------- 和caoqinghua的方法类似,不过我的是7zip
调用7zip,以archive为参数,读取每个包的archive的与你的readme.txt作比较
--------------------编程问答-------------------- 谢谢您,这个转换不错,但问题还是没有解决。 继续观察中 --------------------编程问答-------------------- SharpZipLib.dll这中方法没有问题,你把C#转成VB就可以了,如果自己不会转就去下个工具 --------------------编程问答--------------------
谢谢您,可以展示您的实例么,这将对我有莫大的帮助! --------------------编程问答-------------------- 持之以恒的顶上去,寻求答案啊 --------------------编程问答-------------------- 神奇!7楼的神奇工具转换后的结果:
Using s As New ZipInputStream(File.OpenRead(args(0)))
Dim theEntry As ZipEntry
While (InlineAssignHelper(theEntry, s.GetNextEntry())) IsNot Nothing
If FileName = theEntry.Name Then
Return True
End If
End While
End Using
哪位可以解释一下呢,谢谢!
补充:.NET技术 , VB.NET