C# - 如何检查 zip 文件是否已拆分?
C# - How to check if zip file is split?
我想在我的项目中支持拆分 zip 文件,并在 zip 文件是否拆分的情况下有不同的实现。
如何检查 zip 文件是否已拆分?
using Ionic.Zip;
protected static bool IsZipFileSplit(string filePath)
{
try
{
ZipFile zipFile = new ZipFile(filePath);
bool isSplit = ?????
return isSplit;
}
catch (ZipException) { }
catch (IOException) { }
}
目前我正在使用 Ionic.Zip (DotNetZip Library)。
据我了解,它不会导出任何有关 zip 文件是否拆分的 public 数据。
它确实具有public属性 NumberOfSegmentsForMostRecentSave,但该值仅指当前 zip 文件的最后一次保存,而不适用于使用现有拆分打开的新 zip 文件压缩文件路径。
Ionic.Zip 库当时不支持使用拆分 zip 文件。
经过我们的研究,我们选择使用支持拆分 zip 文件的 DotNetZip library。
- 要检查 zipFile 是否被拆分,您可以查看 zipFile.Info 字符串,其中会提到它包含的段数 ("disks")。如果数字为 0,则文件不拆分。
取自 DotNetZip.ZipFile.Info 属性:
public string Info
{
get
{
StringBuilder stringBuilder = new StringBuilder();
...
stringBuilder.Append(string.Format(" disk with CD: {0}\n", (object)this._diskNumberWithCd));
return stringBuilder;
}
}
我想在我的项目中支持拆分 zip 文件,并在 zip 文件是否拆分的情况下有不同的实现。 如何检查 zip 文件是否已拆分?
using Ionic.Zip;
protected static bool IsZipFileSplit(string filePath)
{
try
{
ZipFile zipFile = new ZipFile(filePath);
bool isSplit = ?????
return isSplit;
}
catch (ZipException) { }
catch (IOException) { }
}
目前我正在使用 Ionic.Zip (DotNetZip Library)。 据我了解,它不会导出任何有关 zip 文件是否拆分的 public 数据。 它确实具有public属性 NumberOfSegmentsForMostRecentSave,但该值仅指当前 zip 文件的最后一次保存,而不适用于使用现有拆分打开的新 zip 文件压缩文件路径。
Ionic.Zip 库当时不支持使用拆分 zip 文件。 经过我们的研究,我们选择使用支持拆分 zip 文件的 DotNetZip library。
- 要检查 zipFile 是否被拆分,您可以查看 zipFile.Info 字符串,其中会提到它包含的段数 ("disks")。如果数字为 0,则文件不拆分。
取自 DotNetZip.ZipFile.Info 属性:
public string Info
{
get
{
StringBuilder stringBuilder = new StringBuilder();
...
stringBuilder.Append(string.Format(" disk with CD: {0}\n", (object)this._diskNumberWithCd));
return stringBuilder;
}
}