Java でリソースを検索する方法: 1. [Class.getResource()] を通じてクラスパス内のリソースを検索します; 2. [ClassLoader.getResource()] を通じてパッケージのルート ディレクトリ内のリソースを検索します。
[関連する学習の推奨事項: Java 基本チュートリアル]
Java でリソースを見つける方法:
1、Class.getResource() を通じて
クラスパス (bin/com/bbebfe/icons/sample.gif) でリソースを見つけます
Class clazz = this.getClass(); URL url = clazz.getResource(imageName);
2、 ClassLoader.getResource() 経由
ClassLoader.findResource() 経由で提供される、パッケージのルート ディレクトリ (bin/icons/sample.gif)
Class clazz = this.getClass(); URLClassLoader loader = (URLClassLoader)clazz.getClassLoader(); URL url = loader.getResource(imageName);
3 でリソースを見つけます。 独自にカスタマイズした方法でリソースを見つける
URL url = loader.findResource(imageName);
では、これら 3 つの方法の違いは何ですか?また、いつどの方法を使用する必要がありますか?
1.Class.getResource()Method
modified_package_name/resource_name
(変更されたパッケージ名/リソース名) パッケージ名の正しい意味は、現在のオブジェクトのパッケージ名の '.'('/u002e') を '/'に置き換えることです。
ClassLoader.getSystemResource(java.lang.String)
.2,
ClassLoader に渡します。 .getResource( )
これはリソースを検索します。リソースの名前は「/」で区切られたパスです。このメソッドは最初に自身の親 ClassLoader を検索し、次に自身の親を検索します。 ClassLoader はリソースを検索します (実際には、親の親が null でない場合でも、親は上向きに検索リクエストを送信します)。自分の親 ClassLoader が null の場合は、Java 仮想マシンに組み込まれているクラス ローダーを検索して送信します。これらの操作が失敗した場合、ClassLoader は独自の findResource() メソッドを呼び出してリソースを検索します。
ClassLoader.findResource()
Methodこのメソッドは、指定されたリソースを内部的に検索します。独自のクラス ローダーを実装する場合は、このメソッドをオーバーライドして、独自の方法でクラス ファイルとリソースを検索する必要があります。
関連学習の推奨事項:
プログラミングビデオ以上がJavaでリソースを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。