c# – SharpZipLib检查并选择ZIP文件的内容

前端之家收集整理的这篇文章主要介绍了c# – SharpZipLib检查并选择ZIP文件的内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在项目中使用SharpZipLib,我想知道是否可以使用它来查看zip文件,如果其中一个文件中有一个数据在我正在搜索的范围内修改,那么选择该文件并复制它到一个新目录?有人知道这有可能吗?

解决方法

是的,可以使用SharpZipLib枚举zip文件文件.您还可以从zip文件中选择文件,并将这些文件复制到磁盘上的目录中.

这是一个小例子:

  1. using (var fs = new FileStream(@"c:\temp\test.zip",FileMode.Open,FileAccess.Read))
  2. {
  3. using (var zf = new ZipFile(fs))
  4. {
  5. foreach (ZipEntry ze in zf)
  6. {
  7. if (ze.IsDirectory)
  8. continue;
  9.  
  10. Console.Out.WriteLine(ze.Name);
  11.  
  12. using (Stream s = zf.GetInputStream(ze))
  13. {
  14. byte[] buf = new byte[4096];
  15. // Analyze file in memory using MemoryStream.
  16. using (MemoryStream ms = new MemoryStream())
  17. {
  18. StreamUtils.Copy(s,ms,buf);
  19. }
  20. // Uncomment the following lines to store the file
  21. // on disk.
  22. /*using (FileStream fs = File.Create(@"c:\temp\uncompress_" + ze.Name))
  23. {
  24. StreamUtils.Copy(s,fs,buf);
  25. }*/
  26. }
  27. }
  28. }
  29. }

在上面的示例中,我使用MemoryStream将ZipEntry存储在内存中(供进一步分析).您还可以在磁盘上存储ZipEntry(如果它符合某些条件).

希望这可以帮助.

猜你在找的C#相关文章