ホームページ >Java >&#&チュートリアル >JAR からリソースをロードするときに getResourceAsStream() が Null を返すのはなぜですか?
パッケージ化された JAR からテキスト ファイルをロードしようとするとき、Class::getResourceAsStream を利用して InputStream を取得すると、次のような結果が生じる可能性があります。 null ポインタ例外。これを修正するには、次のアプローチを検討してください。
正しいパスを確認します。
ファイルへの指定されたパスがファイルの内部構造と一致することを確認します。 JAR。先頭のスラッシュ (/) が含まれていること、およびファイル名が正しいことを確認してください。
正しいクラス ローダーを使用します:
Byデフォルトでは、Lifepaths.class.getClass().getResourceAsStream(...) はシステム クラス ローダーを使用します。これは、システム クラス ローダー内のリソースにアクセスできない場合があります。瓶。代わりに、Lifepaths.class.getResourceAsStream(...) を使用します。これは、Lifepaths クラスをロードしたクラス ローダーを利用して、JAR リソースへのアクセスを提供します。
先頭のスラッシュを含めますリソース パス:
getResourceAsStream(name) を呼び出すときは、パスが始まる必要がありますスラッシュ (/) を使用します。これは、JAR 内からリソースを確実に正常にロードするための重要な手順です。
以上がJAR からリソースをロードするときに getResourceAsStream() が Null を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。