1

hddのフォルダーに解凍せずにzip / rarファイルで画像を表示できるようにするJavaプログラムに取り組んでいます。通常の画像ビューアのようにそれらをめくって、必要に応じてズームイン/ズームアウトできるようにしたいと思います。

私が調べたところ、一時フォルダーだけであっても抽出する必要があります。プログラムが後でそれを自分で削除できる限り、それで問題ありません。ZipFile は、もっと研究すべきものだと思いますか? 私が見たもののほとんどは、画像ファイルではなくテキスト ドキュメントを扱っているため、調査をどのように進めればよいかわかりません。

私は正しい軌道に乗っているかどうか、または何ヶ月もコーディングを行っていないため(軽いphpとhtmlを保存する)、または何か良いリソース/特定のAPIがあるかどうかを確認しようとしています。 java は約 1 年で、私はこれを後回しにしていました。

前もって感謝します。:)

4

1 に答える 1

2

で正しい軌道に乗ってZipFileいます。画像を表示する前にディスクに抽出する必要はないと思います。

ZipFileオブジェクトは、その内容のリストを で表示しますentries()。このZipEntryオブジェクトのコレクションを反復して、表示するファイルの選択肢を提示し、もちろん、必要に応じて既知の拡張子にフィルターすることができます。

奇妙なことに、特定のエントリのを提供するZipFileのは個々のZipEntryオブジェクトではなく、オブジェクトです。InputStreamこのオブジェクトをbyte[]メモリ内に読み込み、画像の表示を担当するコンポーネントに送信できます。

1 つの注意点は、zip ファイルの場合、zip に保存されている最後のファイルに到達するには、基本的にアーカイブ全体を解凍する必要があり、時間がかかる可能性があることです。そのため、使用パターンに応じて、ファイルをディスクまたはメモリ内 LRU キャッシュにキャッシュすることが理にかなっている場合があります。

これが Swing アプリケーション用かどうかは言及していませんが、もしそうなら、これは画像を表示するのに役立つかもしれません:

http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html

于 2013-09-11T02:31:15.233 に答える