如何在c#中计算zipfile中的文件数

pra*_*een 2 c# zip

请告诉我如何计算 ZIP 文件中的文件数。

我需要一个 C# 代码才能在 Visual Studio 中完成这项工作。我在谷歌搜索时尝试了很多代码,但收到一条错误消息:

找不到 ZIPENTRY/ZIPFILE 的命名空间或程序集。

谁能告诉我我应该包含什么/需要安装什么/为我提供任何代码来计算文件数量?

Dmi*_*nko 5

正如 MSDN 所说(.Net 4.5),您可以使用ZipArchiveZipFile类:

http://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive.aspx http://msdn.microsoft.com/en-us/library/system.io.compression.zipfile.aspx

作为班无论是在System.IO.Compression命名空间是不同的组件 System.IO.CompressionSystem.IO.Compression.FileSystem虽然。

因此,您可以将System.IO.CompressionSystem.IO.Compression.FileSystem程序集的引用添加到您的项目中,然后尝试如下操作:

...
using System.IO.Compression; 
...


  // Number of files within zip archive
  public static int ZipFileCount(String zipFileName) {
    using (ZipArchive archive = ZipFile.Open(zipFileName, ZipArchiveMode.Read)) {
      int count = 0;

      // We count only named (i.e. that are with files) entries
      foreach (var entry in archive.Entries)
        if (!String.IsNullOrEmpty(entry.Name))
          count += 1;

      return count;
    }
  }
Run Code Online (Sandbox Code Playgroud)

另一种可能性是使用 DotNetZip 库,请参阅:

使用 c# 计算 Zip 文件中的文件数


小智 1

您可以使用DotNetZip尝试类似的操作。

using DotNetZip;

int count;
using (ZipFile zip = ZipFile.Read(path))
    count = zip.Count;
Run Code Online (Sandbox Code Playgroud)

在这里找到了这个解决方案。