Библиотека для извлечения zip на лету

У меня довольно большой ZIP-файл, который загружается (не может изменить файл). Задача состоит в том, чтобы разархивировать файл во время загрузки, а не ждать, пока конец центрального каталога получено.
Существует ли такая библиотека?

5

Решение

Я написал «щепотку» некоторое время назад. Это в Objective-C, но метод для декодирования файлов из zip может быть способом получить его в C ++? Да, некоторое кодирование будет необходимо.

http://forrst.com/posts/Now_in_ObjC_Pinch_Retrieve_a_file_from_inside-I54
https://github.com/epatel/pinch-objc

2

Другие решения

Я не уверен, что такая библиотека существует. Если вы не находитесь на очень быстрой линии [или у вас очень медленный процессор], вряд ли вы сэкономите огромное количество времени. Распаковка нескольких гигабайт занимает всего несколько секунд, если все данные находятся в оперативной памяти (может потребоваться некоторое время для записи несжатых данных на диск, а загрузка их с диска может увеличить общее время).

Однако, предполагая, что отправляющий конец поддерживает загрузку «диапазона», вы могли бы написать что-то, что сначала загрузит каталог [сначала прочитав фиксированный заголовок, затем прочитав каталог и затем загрузив оставшуюся часть файла от начала до конца]. Предположительно, именно так работает «щепотка» в ответе эпателя.

1

По вопросам рекламы [email protected]