Top > ZIP > ZIPファイル内の一覧

ZIPファイル内の一覧

本記事は、JDKの標準APIでありながら、あまり入門書などに説明されていない
ZIPファイル内の一覧表示の方法を説明します。

展開の時と同じくZipInputStreamを使う

ZIPファイルの展開の時に使った、ZipInputStreamを使い、
実際には、ファイル書き出しを行わなければ、一覧表示に
なります。

  • ZIPファイルを ZipInputStreamでオープンする
  • ZipInputStream から ZipEntryを取り出す。
  • ZipEntryから、ファイル名を取り出して表示する
  • ZipEntryの個数だけ、繰り返す

サンプルソース

ZipFileクラスを使う

Zipファイル内の一覧表示だけなら、ZipFile というクラスを
使うこともできます。

  • ZIPファイルを ZipFile でオープンする
  • ZipFile から ZipFileを取り出す/li>
  • ZipEntryから、ファイル名を取り出して表示する
  • ZipEntryの個数だけ、繰り返す

サンプルソース

まとめ

方法を2種類示しました。どちらの方法でも、ZipEntryを
存在している個数だけ取得できるので、同じように一覧表示できます。

どちらの方法もコーディング量の違いはほとんどないように思えます。
もしかしたら、ZIPファイルのサイズや、内部のファイル個数が膨大に
なってくると、実行速度に差がでてくるかも知れませんが、検証は
行っていません。