ホームページ >Java >&#&チュートリアル >Java で getResourceAsStream が Null を返すのはなぜですか?それを修正するにはどうすればよいですか?

Java で getResourceAsStream が Null を返すのはなぜですか?それを修正するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-21 14:54:11215ブラウズ

Why Does getResourceAsStream Return Null in Java, and How Can I Fix It?

Java での「getResourceAsStream が Null を返す」問題のトラブルシューティング

getResourceAsStream を使用して JAR 内のファイルをロードしようとすると、 null を返します。これを解決するには、リソースのロード方法と正しいパス形式を理解することが重要です。

getResourceAsStream のデフォルトのロード メカニズムでは、システム クラス ローダーが使用されます。ただし、このアプローチでは JAR 内のリソースにアクセスできない場合があります。代わりに、Lifepaths クラスをロードしたクラスローダーを使用する Lifepaths.class.getResourceAsStream(...) を利用します。このローダーは、JAR のリソースにアクセスできます。

さらに、リソース パスが「/」で始まることを確認してください。これは厳密には必要ではありませんが、省略すると問題が発生することが確認されています。

したがって、指定されたディレクトリ構造内からファイル Lifepaths.txt を適切にロードするには、次の構文を使用します:

Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt")

以上がJava で getResourceAsStream が Null を返すのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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