Как я могу передать поток ZIP-архива с одним файлом? - PullRequest
1 голос
/ 05 марта 2012

Представьте себе такую ​​ситуацию: у меня есть ZIP-архив с ровно одной записью.Я заранее знаю название записи.

Как развернуть эту единственную запись, не читая сначала весь ZIP-архив?

Подробности: TOC к архиву ZIP добавляетсяконец ZIP архива.Поэтому обычно вы не можете начать читать записи до того, как прочитаете весь архив.Другие архиваторы, такие как tar или gzip, сначала дают мне заголовок, а затем вводят данные.

В моем случае архив представляет собой только один файл, и я знаю имя файла (content.xml, нетпуть).

1 Ответ

0 голосов
/ 06 марта 2012

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

Я не знаю, поддерживает ли это какая-либо библиотека, и, учитывая, что она официально не поддерживается, можно ожидать, чтоне.Таким образом, вам придется разобрать некоторый ридер (например, мини-архив, включенный в zlib, должен быть достаточно простым) и реализовать это самостоятельно.

...