c# - 如何获取 7-zip 存档中打包文件的大小

标签 c# 7zip

我正在使用 SevenZipSharp,它在 ArchiveFileInfo 结构中有 Size 属性,“获取或设置文件的大小(解压) ".

我怎样才能得到存档中打包文件的大小?

最佳答案

不幸的是,SevenZipSharp 似乎没有填写此信息。下面是它如何在 ArchiveFileInfo 中填充解压缩大小的示例:

var fileInfo = new ArchiveFileInfo { Index = (int)i };
...
_archive.GetProperty(i, ItemPropId.Size, ref data);
fileInfo.Size = NativeMethods.SafeCast<ulong>(data, 0);

ItemPropId 枚举具有 PackedSize 属性,但未使用,我想是因为它可能不存在(根据评论):

/// <summary>
/// Item packed sise; usually absent
/// </summary>
PackedSize,

所以我想获得它的唯一方法是 fork SevenZipSharp 并尝试自己修复它(或搜索已经存在的 fork )。如果可能的话。

关于c# - 如何获取 7-zip 存档中打包文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34390102/

相关文章:

c# - winforms标签闪烁

c# - 将 List<string>[] 读入动态标签

.7z 文件的标题结构?

batch-file - 如何在cmd中显示7zip的提取进度?

command-line - 从 7zip 压缩算法中获得最大压缩

command-line - 如何将7 zip自解压存档静默安装到特定目录?

c# - 对另一个用户控件显示/隐藏一个用户控件

c# - 如何在 ViewModel 中获取控件的高度

c# - 如何使用 C#/Mono 设置 Linux/Mac 计算机时钟?

python - 在不解压缩的情况下找出解压缩存档的结果大小。或超过一定尺寸时停止拆包