2012-03-05 7 views
1

この状況を想像してください。私は、ちょうど1つのエントリを持つZIPアーカイブを持っています。私は事前にエントリーの名前を知っています。1つのファイルだけでZIPアーカイブをストリーミングするにはどうすればよいですか?

どのように私は最初に全体のZIPアーカイブを読み込むことなく、この単一のエントリを展開することができますか?

詳細:ZIPアーカイブのTOCは、ZIPアーカイブの最後に追加されます。だから、通常は、アーカイブ全体を読む前にエントリを読むことができません。 tarまたはgzipのような他のアーカイバは、最初にしてくれエントリデータをヘッダを与えます。私の場合は

、アーカイブは、単一のファイルであり、私は、ファイル名(content.xml、パスなし)を知っています。

+0

なぜそれがより単なるgzipのではないでしょうか?もっと適切だったでしょう。 –

+0

ファイルのサーバーが自分の管理下にありません。 –

答えて

0

本当に仕様で動作する保証はありませんが、あなたの場合には、それだけで最初のエントリの開始を検索するために動作するはずですが。それを解凍して、実際に目的のデータがあることを確認してから、そのディレクトリに移動してディレクトリを解凍することができます。

ライブラリがこれをサポートしているかどうかは分かりませんが、それが正式にサポートされていないとすれば、それは期待できません。だから、いくつかの読者(例えば、zlibにバンドルされているミニッツは合理的にシンプルでなければならない)を取り除き、これを自分で実装する必要があります。

関連する問題