使用.net ZipArchive类检查zip存档是否包含一个空文件夹
本文关键字:包含一 是否 文件夹 ZipArchive net 检查 zip 使用 | 更新日期: 2023-09-27 18:09:05
是否有办法确定。net 4.5 ZipArchive是否包含一个指定名称的空文件夹?
据我所知,只有一组条目会忽略空文件夹
我没有空文件夹被忽略的问题,下面的工作对我来说:
string zipPath = @"C:'test.zip";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
/* Find all folders (elements ending with "/"), and exclude
* those containing elements (FullName starts with folder name, FullName is
* longer than folder name) */
var entries = archive.Entries.Where(o1 => o1.FullName.EndsWith("/")
&& !archive.Entries
.Any(o2 => o2.FullName.StartsWith(o1.FullName)
&& o2.FullName.Length > o1.FullName.Length)).ToList<ZipArchiveEntry>();
}