2017-01-21 16 views
0

でファイルを読み込む私が使用してファイルからいくつかのデータを読み込む機能持っIntelijで行われたプロジェクトがあります。のJava - クラスローダ - 瓶

InputStream stream = getClass().getClassLoader().getResourceAsStream(excelFilePath); 

をし、それが正常に動作します。

ここでは、プロジェクト+ファイルでjarを作成し、別のプロジェクトからその関数を呼び出したいとします。ファイルはjarに追加されますが、関数iを呼び出すときにNULLポインタ例外が発生すると、ストリームはnullになります。

ファイルのパスは "exel\\filename"で、res/exelというフォルダにあります。resはリソースフォルダとしてマークされています。

私は間違っていますか?

+0

jarを開くと、ファイルがjaredされていない可能性があります。 –

+0

ファイルがあります。私は – Ana

+0

を確認しました。jarファイルにmainメソッドを書き、intelijの外側で実行しようとしました。最初のケースでは、別の場所の別の場所を選んでいる可能性があります。 –

答えて

0

解決策が見つかりました。

私は

InputStream stream = MyClass.class.getResourceAsStream(excelFilePath); 

InputStream stream = getClass().getClassLoader().getResourceAsStream(excelFilePath); 

を交換しても、 '/' で開始するexcelFilePathをフォーマットする必要がありました。