如何查找离子zip文件的未压缩大小

naw*_*fal 3 compression size dotnetzip

我有一个使用Ionic zip压缩的zip文件.在解压缩之前,我需要验证可用的磁盘空间.但是如何在手前找到未压缩的尺寸?zip文件中是否有任何标题信息(通过离子)以便我可以阅读它?

小智 8

这应该做的伎俩:

static long totaluncompressedsize;
static string info;
.
.
.
.

// Option 1
foreach (ZipEntry e in zip)
{
    long uncompressedsize = e.UncompressedSize;
    totaluncompressedsize += uncompressedsize;
}

// Or

// Option 2 - will need to sift through the mass of info        
using (ZipFile zip = ZipFile.Read(zipFile))
{
    info = zip.Info;
}
Run Code Online (Sandbox Code Playgroud)

  • 两件事:#1 - 在这个答案中迭代每个条目是正确的方法.它不涉及zip文件的完整扫描.Zip包含"中心目录"中每个条目的元数据,并且在迭代时,您只需遍历从该元数据创建的对象列表.它很快.#2.ZipFile.Info属性执行相同的操作(迭代条目)并将输出格式化为字符串. (4认同)