クラスローダーでリソースを読み込もうとしています。
しかし、その間、クラスオブジェクトもそのようなことを完了することができることがわかりました。
私のコードはこのようなものです。
Teacher.class.getResource("1.txt");
Teacher.class.getClassLoader.getResource("1.txt");
2 つの方法で必要なリソースを取得できますが、基になる理論がわかりません。
私を助けることができる人はいますか?
クラスローダーでリソースを読み込もうとしています。
しかし、その間、クラスオブジェクトもそのようなことを完了することができることがわかりました。
私のコードはこのようなものです。
Teacher.class.getResource("1.txt");
Teacher.class.getClassLoader.getResource("1.txt");
2 つの方法で必要なリソースを取得できますが、基になる理論がわかりません。
私を助けることができる人はいますか?
仕様を確認したところ、次のように書かれています。
Class.getResource(文字列リソース)
ClassLoader.getResource(文字列リソース)
クラスの getResource() - ドキュメントには違いが記載されています。
このメソッドは、リソース名にこれらの変更を加えた後、そのクラス ローダーへの呼び出しを委譲します。リソース名が「/」で始まる場合は変更されません。それ以外の場合、「.」を変換した後、パッケージ名がリソース名の前に追加されます。に "/"。このオブジェクトがブートストラップ ローダーによってロードされた場合、呼び出しは ClassLoader.getSystemResource に委譲されます。