I have a zip file compressed using Ionic zip. Before extracting I need to verify the available disk space. But how do I find the uncompressed size before hand? Is there any header information in the zip file (by ionic) so that I can read it?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
This should do the trick:
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;
}
回答2:
public static long GetTotalUnzippedSize(string zipFileName)
{
using (ZipArchive zipFile = ZipFile.OpenRead(zipFileName))
{
return zipFile.Entries.Sum(entry => entry.Length);
}
}