Я пытаюсь найти положение первого заголовка файла Central Directory в Zip-файле.
Я читаю эти слова: http://en.wikipedia.org/wiki/Zip_(file_format) http://www.pkware.com/documents/casestudies/APPNOTE.TXT
КакЯ вижу это, я могу только сканировать данные Zip, определять по заголовку, в каком разделе я нахожусь, и затем делать это, пока не попаду в заголовок Central Directory.Я бы, очевидно, прочитал заголовки файлов до этого и использовал бы «сжатый размер», чтобы пропустить фактические данные, а не циклически перебирать каждый байт в файле ...
Если я так делаю, тоЯ практически уже знаю все файлы и папки внутри Zip-файла, и в этом случае я больше не вижу смысла в использовании Центрального каталога.
Насколько я понимаю, цель Центрального каталога - перечислить метаданные файла иположение фактических данных в Zip-файле, чтобы вам не нужно было сканировать весь файл?
После прочтения записи Конца центрального каталога Википедия говорит:
Этоупорядочение позволяет создать zip-файл за один проход, но обычно он распаковывается при первом чтении центрального каталога в конце.
Как мне легко найти запись End of Central Directory?Нам нужно помнить, что там могут быть комментарии произвольного размера, поэтому я не знаю, сколько байтов в конце потока данных находится в нем.Я просто сканирую это?
PS Я пишу программу для чтения Zip-файлов.