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-файл поврежден или имеет ненужную информацию в конце, что препятствует работе одного метода, но не другого.