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

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

Susan Sarandon
リリース: 2024-12-19 01:16:17
オリジナル
449 人が閲覧しました

How Can I Access and Navigate the Contents of a JAR File?

JAR ファイルの内容の探索: 埋められたファイルを明らかにする

ローカル ファイル システム上のディレクトリを横断するのは簡単な作業ですが、 JAR ファイルの深さを理解するのは困難に思えるかもしれません。この記事では、JAR アーカイブ内のファイルへのアクセスの複雑さについて詳しく説明します。

ファイル構造の分析

JAR ファイルは、ZIP アーカイブと同様に、複数のファイルを 1 つにバンドルします。実在物。 JAR ファイルの階層構造を理解することが重要です。 JAR ファイルは次のような構成になっている可能性があります:

my.jar!/Main.class
my.jar!/Aux.class
my.jar!/Other.class
my.jar!/images/image01.png
my.jar!/images/image02a.png
my.jar!/images/imwge034.png
my.jar!/images/imagAe01q.png
my.jar!/META-INF/manifest 
ログイン後にコピー

JAR ファイルのアイデンティティの検出

JAR ファイルを探索する鍵は、その場所を知ることにあります。提供されているコード スニペットから秘密が明らかになります。

CodeSource src = MyClass.class.getProtectionDomain().getCodeSource();
if (src != null) {
  URL jar = src.getLocation();
  ...
}
ログイン後にコピー

JAR ファイルの場所がわかったので、その内容に踏み込むことができます。

JAR ファイルの迷路をたどる

ZipInputStream クラスを使用すると、JAR の深部を調べることができますfile:

ZipInputStream zip = new ZipInputStream(jar.openStream());
while(true) {
  ZipEntry e = zip.getNextEntry();
  if (e == null)
    break;
  String name = e.getName();
  ...
}
ログイン後にコピー

ループ内では、各 ZipEntry は JAR ファイル内のファイルまたはディレクトリを表します。エントリの名前を検査することで、特定のパターンを持つファイル、または特定のパス内にあるファイルを識別できます。

JAR ファイルのコンテンツの移動

JAR ファイル内の目的のファイルが識別されると、その内容の読み取りや特定のファイルへの抽出などのアクションを実行できます。

結論

上で概説したテクニックをマスターすると、JAR ファイルの内部動作をナビゲートして簡単に操作できるようになり、アプリケーションのリソース管理の可能性が無限に広がります。 .

以上がJAR ファイルの内容にアクセスして移動するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート