请告诉我如何计算 ZIP 文件中的文件数。
我需要一个 C# 代码来在 Visual Studio 中完成这项工作。谷歌搜索时尝试了许多代码,但收到错误消息:
找不到 ZIPENTRY/ZIPFILE 的命名空间或程序集。
谁能告诉我我应该包括什么/需要安装什么/提供任何代码来计算文件的数量?
正如 MSDN 所说(.Net 4.5),您可以使用ZipArchive和ZipFile类:
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.Compression和System.IO.Compression.FileSystem中。
所以你可以在你的项目中添加对System.IO.Compression和System.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;
}
}
另一种可能性是使用 DotNetZip 库,请参阅:
您必须将引用System.IO.Compression和System.IO.Compression.FileSystem添加到您的项目中
using (var archive = System.IO.Compression.ZipFile.Open(filePath, ZipArchiveMode.Read))
{
var count = archive.Entries.Count(x => !string.IsNullOrWhiteSpace(x.Name));
}