C# - Как проверить, если почтовый файл разделен?
Я хочу, чтобы в моем проекте поддерживались разделенные 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). Как я понимаю, он не экспортирует какие-либо общедоступные данные относительно того, является ли zip-файл разделенным или нет. У него есть открытое свойство NumberOfSegmentsForMostRecentSave, но это значение относится только к последнему сохранению текущего zip-файла, а не для новых zip-файлов, открытых с существующим разделенным путем zip-файла.
0 ответов
В то время библиотека Ionic.Zip не поддерживала работу с разделенными zip-файлами. После исследования мы выбрали библиотеку DotNetZip, которая поддерживает работу с разделенными zip-файлами.
- Чтобы проверить, разделен ли zipFile, вы можете посмотреть строку zipFile.Info, в которой будет указано количество сегментов ("дисков"), которые он содержит. если число равно 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;
}
}