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;
   }
}
Другие вопросы по тегам