Как найти положение центрального каталога в Zip-файле?

Я пытаюсь найти положение первого заголовка файла центрального каталога в Zip-файле.

Я читаю это:http://en.wikipedia.org/wiki/Zip_(file_format) http://www.pkware.com/documents/casestudies/APPNOTE.TXT

Насколько я понимаю, я могу только сканировать данные Zip, определять по заголовку, в каком разделе я нахожусь, и затем делать это, пока не попаду в заголовок Central Directory. Я бы, очевидно, прочитал заголовки файлов до этого и использовал бы «сжатый размер», чтобы пропустить фактические данные, а не цикл для прохождения каждого байта в файле ...

Если я делаю это таким образом, то я практически уже знаю все файлы и папки внутри Zip-файла, и в этом случае я больше не вижу смысла в использовании Центрального каталога.

Насколько я понимаю, цель Central Directory состоит в том, чтобы перечислить метаданные файла и положение фактических данных в файле Zip, чтобы вам не нужно было сканировать весь файл?

После прочтения записи End Of Central Directory, Википедия говорит:

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

Как мне легко найти запись конца центрального каталога? Нам нужно помнить, что там могут быть комментарии произвольного размера, поэтому я не знаю, сколько байтов в конце потока данных находится в нем. Я просто сканирую это?

Постскриптум Я пишу читатель Zip файла.

Ответы на вопрос(3)

Ваш ответ на вопрос