まず最初に、クラスパスという概念を導入しましょう。これは、コンパイルされたクラス ファイル、XML、プロパティ、その他の構成ファイルが配置されるディレクトリを指します。たとえば、Maven プロジェクトの場合、クラスパスは「プロジェクト名/target/classes」、通常のプロジェクトの場合は「プロジェクト名/bin」、「プロジェクト名/build/classes」などになります。 。
getResource は java.lang.Class のメソッドであり、バイトコード オブジェクトによって呼び出されます。
(推奨チュートリアル: java 入門プログラム )
getResource は文字列パラメータを受け入れます。「/」で始まる場合、そのパラメータは、クラスパス (サブディレクトリを再帰的に検索しない) で、「/」で始まらない場合は、getResource を呼び出すバイトコード オブジェクトが配置されているディレクトリを検索します (サブディレクトリは再帰的に検索されません)。
例:
@Test public void test() { System.out.println(Test1.class.getResource("")); System.out.println(Test1.class.getResource("/")); System.out.println(Test1.class.getResource("Test1.class")); System.out.println(Test1.class.getResource("/Test1.class")); }
最初の文 Test1 は com.trs.javase 配下にあるため、「xxx.com.trs.javase」が出力されます。 Test2.classで呼び出すと「xxx.com.trs.javase.subpackage」が出力されます
2文目はクラスパスのルートディレクトリを出力します。
3 番目の文は、Test1.class が配置されているディレクトリを出力します。
4 番目の文 Test1.class はクラスパスのルートディレクトリにないため、null が出力されます。
出力結果:
file:/D:/eclipse-workspace/javase/bin/com/trs/javase/ file:/D:/eclipse-workspace/javase/bin/ file:/D:/eclipse-workspace/javase/bin/com/trs/javase/Test1.class null
(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)
以上がJava の getResource() メソッドの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。