2012-02-13 13 views
2

現在のディレクトリで 'res'という名前のフォルダにあるイメージファイルを使用するスイングアプリケーションを作成しました。そのために私は次のようなことをしています:依存関係を持つjarファイルを作成するには

BufferedImage img=ImageIO.read(new File(new String(System.getProperty("user.dir")+"\\res\\back.png"))); 

コマンドプロンプトから実行すると、正常に動作します。しかし、これからjarファイルを作成すると、resフォルダはjarファイル内にありますが、resフォルダは見つかりません。しかし、jarと同じディレクトリにresフォルダをコピーすると、再び動作します。私は外部フォルダに依存せずに単一のjarファイルが必要です。多分クラスパスから

答えて

0

ロード:java.lang.IllegalArgumentExceptionが:入力== nullの

InputStream in = getClass().getResourceAsStream("/res/back.png"); 
BufferedImage img = ImageIO.read(in); 
+0

それは次の例外を提供します!何か案は ?? – dotnetguy

+0

心配しないでください。出来た。どうもありがとう。 :) 私が使用していた方法がうまくいかなかったのはなぜですか? – dotnetguy

+0

オペレーティングシステムは、jarファイル内のファイルについて認識していないためです。 O/Sに関しては、jarファイルは見えるファイルであり、jarファイルの内容は個別ファイルとしては見えません。 –

関連する問題