ホームページ >Java >&#&チュートリアル >JAR からリソースをロードするときに getResourceAsStream が Null を返すのはなぜですか?

JAR からリソースをロードするときに getResourceAsStream が Null を返すのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-26 08:42:09753ブラウズ

Why Does getResourceAsStream Return Null When Loading Resources from a JAR?

JAR からリソースをロードすると getResourceAsStream が Null を返す

Class::getResourceAsStream を使用して JAR パッケージからテキスト ファイルをロードしようとすると、 null 戻り値が発生する可能性があります。この問題を解決するには、次の点を考慮してください。

Lifepaths.class.getClass().getResourceAsStream(...) メソッドは、JAR 内のリソースにアクセスできない可能性があるシステム クラス ローダーを使用します。代わりに、Lifepaths.class.getResourceAsStream(...) を使用して、Lifepaths クラスをロードしたクラス ローダーを利用し、JAR リソースへのアクセスを確保します。

getResourceAsStream(name) を呼び出すときは、名前がスラッシュ「/」。潜在的な問題を回避するには、通常、この方法をお勧めします。

修正されたコードの例を次に示します:

public static void execute() {
    System.out.println(Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt"));
}

以上がJAR からリソースをロードするときに getResourceAsStream が Null を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。