ホームページ >Java >&#&チュートリアル >Java で JAR ファイル内のファイルにアクセスして取得するにはどうすればよいですか?
JAR ファイル内のファイルの移動と取得
JAR ファイルを操作する場合、さまざまな目的で内部ファイルにアクセスする必要があります。この疑問は、JAR ファイル内のファイルを列挙する必要がある場合、特に画像をロードして動的にアクセスする必要がある場合に生じます。
解決策には、メソッドの組み合わせを利用する必要があります。まず、メインクラスが存在する JAR ファイルを特定します。この情報は、java.util.Zip を使用して取得できます。
JAR ファイル名がわかったら、CodeSource オブジェクトを作成し、JAR ファイルの URL を取得します。次に、ZipInputStream を使用して JAR ファイルのコンテンツにアクセスします。ストリームから ZipEntry オブジェクトを継続的に取得し、各エントリの名前を調べます。名前が目的のディレクトリ パスと一致する場合は、そのエントリに対して必要な操作を実行できます。
JAR ファイル内の画像を一覧表示するコード スニペットの例を次に示します。
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while (true) { ZipEntry entry = zip.getNextEntry(); if (entry == null) break; if (entry.getName().startsWith("images/")) { // Process the image entry } } }
または、次のようにします。 Java 7 の FileSystem と NIO のファイル ウォーキング メカニズムを使用して、JAR ファイルの内容を走査できます。これにより、JAR ファイル内のファイルの検索とフィルタリングのプロセスが簡素化されます。
以上がJava で JAR ファイル内のファイルにアクセスして取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。