System.IO.Compression Не удалось найти конец записи центрального каталога

При выполнении следующего кода.. Я получаю исключение на OpenRead заявление:

Конец записи центрального каталога не найден.

Однако я могу открыть файл zip без проблем через проводник Windows.

Какие-нибудь мысли?

string zipPath = @"c:\testfiles\MMM_C13000_2016M08.zip";
   using (ZipArchive archive = ZipFile.OpenRead(zipPath))
   {
       foreach (ZipArchiveEntry entry in archive.Entries)
       {
       }
   }

1 ответ

Обработать zip-файл можно двумя разными способами. Вы можете просто читать последовательно с самого начала, обрабатывая локальные заголовки и сжатые данные по ходу работы. Или вы можете использовать центральный каталог в конце zip-файла, чтобы найти записи и обработать их, выполнив поиск в файле.

Похоже, что zip-файл поврежден или имеет ненужную информацию в конце, что препятствует работе одного метода, но не другого.

Другие вопросы по тегам