0

eclipseを使用しており、次のコードを使用してフォルダーから画像を読み込みます。

getClass().getResource("/images/image.jpg").getFile())

画像フォルダは、プロジェクトフォルダのbinフォルダ内にあります。Eclipseにロードする場合は正常に機能しますが、jarにエクスポートするとロードされません。画像フォルダをjar内の可能なすべての場所に配置しようとしましたが、そうではありません。

画像フォルダをjarにロードするにはどうすればよいですか?

4

2 に答える 2

2

getResourceAsStream()代わりにメソッドを使用InputStreamして、ファイルデータのインスタンスを取得できます。

更新:jarからのファイルのロードは、クラスローダーの助けを借りて行われます。また、任意の内部リソース(画像ファイル、サウンドファイル、テキストファイルなど)のInputStream(FileInputStreamではない)のインスタンスを提供できます。ファイルの書き込みはjar内では機能しないはずです。

于 2012-09-15T13:29:11.837 に答える
1

これを使って。このメソッドdoesn't return immediately

public Image getImage(String img){
    return new ImageIcon(getClass().getResource(img)).getImage();
}

のルートからロードする場合はJAR

return new ImageIcon(getClass().getClassLoader().getResources(img)).getImage();
于 2012-09-15T14:04:54.243 に答える