16

.JAR に含まれるリソースを読み込もうとしていますが、次のように nullPointer が返されます。

bReader = new BufferedReader(new InputStreamReader(
                  this.getClass().getResourceAsStream("resources/" + fileName)));

ただし、ファイルを使用すると正常に動作します..

bReader = new BufferedReader(new FileReader(new File("resources/" + fileName)));
4

6 に答える 6

25

IDE/Maven/ANT/Gradle/ビルド プロセスにルートの jar に「リソース」のコンテンツが含まれていると仮定して、「/」で検索してみてください。

bReader = new BufferedReader(new InputStreamReader(
                           this.getClass().getResourceAsStream("/" + fileName)));

アップデート:

「resources」フォルダーがリソース フォルダーとして構成されていることを確認します。

于 2013-03-03T17:21:39.657 に答える
-1

this.getClass().getResourceAsStream("resources/" + fileName)new File("resources/" + fileName)作業ディレクトリ(Eclipseのプロジェクトルートディレクトリ)からファイルをロードするように、クラスパスからファイルをロードします。resources前者を機能させるには、 dir を含む jar をクラスパスに追加する必要があります。

于 2013-03-04T04:57:13.850 に答える