我正在使用 DotNetZip 提取来自外部(不可信)来源的 zip 文件。我的问题是 zip 文件本身可能有几千字节,但解压缩后的内容可能会变成 PB。解压前如何查看未压缩的大小?是否有可靠的方法来查看并防止 OutOfMemoryException?
如下所示,可以使用 ionic zip 完成:
using (ZipFile zip = ZipFile.Read(zipFile))
{
// Option 2 - will need to sift through the mass of info
info = zip.Info;
foreach (ZipEntry e in zip)
{
long uncompressedsize = e.UncompressedSize;
// Option 1
totaluncompressedsize += uncompressedsize;
}
}
但问题仍然存在:UncompressedSize
完全可靠吗?有人可以更改此信息以使其显示为未压缩的小尺寸吗?