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 サイトの他の関連記事を参照してください。