ここに2つの問題があります
コードの書き方。
使用する形式。
ファイル形式について、.ZIP 形式はファイルの末尾に目次を配置するため、使用できません。つまり、ファイルの内容を知る前に、ファイル全体をダウンロードする必要があります。Zip にはスキャンできるヘッダーがありますが、それらのヘッダーはファイルの内容の公式リストではありません。
Zip では、ファイルをすばやく追加できるため、明示的に目次を最後に配置します。
ファイル 'a'、'b'、および 'c' を含む zip ファイルがあるとします。「c」を更新します。zip では、目次を読み取り、新しい c を追加し、新しい 'c' を指す新しい目次を書き込むことは完全に有効ですが、古い 'c' はまだファイル内にあります。ヘッダーをスキャンすると、古い「c」がファイルに残っているため、最終的に表示されます。
この追加機能は、zip の明示的な設計目標でした。これは、zip が複数のフロッピー ディスクにまたがることができた 1980 年代に由来します。ファイルを追加する必要がある場合、zip ファイル全体を書き直すためだけに N 個のディスクをすべて読み取らなければならないのは面倒です。代わりに、この形式では更新されたファイルを最後に追加するだけで済みます。つまり、最後のディスクだけが必要です。古い TOC を読み取り、新しいファイルを追加し、新しい TOC を書き込むだけです。
gzip された tar ファイルには、この問題はありません。tar ファイルは、ヘッダー、ファイル、ヘッダー ファイルに格納され、その上に圧縮が適用されるため、ダウンロードしたファイルのまま解凍し、ファイルが使用可能になったときに使用することができます。Windows では winrar (商用) または 7-zip (無料) を使用して、gzip で圧縮された tar ファイルを簡単に作成できます。Linux では、osx および cygwin では tar コマンドを使用します。
書くコードについては、
O3D はこれを行い、オープン ソースであるため、コードhttp://o3d.googlecode.comを見ることができます
。
解凍コードは o3d/import/cross/... にあります。
o3d/plugin/cross にある接着剤を使用して NPAPI をターゲットにしています。