ホームページ >Java >&#&チュートリアル >Java で JAR ファイル内のファイルにアクセスして取得するにはどうすればよいですか?

Java で JAR ファイル内のファイルにアクセスして取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-25 19:33:20403ブラウズ

How Can I Access and Retrieve Files Inside a JAR File in Java?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。