EclipseのJava:getResourceを使用してロードしたいファイルシステム上のファイルはどこに置きますか? (例:ImageIconの画像)

StackOverflow https://stackoverflow.com/questions/270197

質問

ファイルは、getClass()。getResource(filename)が検索できる場所にある必要があることは知っていますが、どこにあるのかわかりません。

ファイルシステム自体のどこにファイルを置くかと、Eclipseの機能を使用してリソースをセットアップする方法の両方に興味があります。

役に立ちましたか?

解決

Eclipseの場合、通常行う必要があるのは、ソースコードディレクトリ内のどこかにフォルダーを設定することだけです。たとえば、ソースを含むディレクトリが / src の場合、 / src / resources フォルダーを作成して画像/ファイルを配置できます。その後、クラス内で getResource(" /resources/image.png")を実行して取得します。

必要に応じて、クラスにアクセスしようとするクラスと同じフォルダ/パッケージ内に画像/ファイルを配置することもできます(例: com.mycompany パッケージにimage.pngを配置し、 com.mycompany.Foo クラスにアクセスして getResource(" image.png"))を呼び出す必要がありますが、画像などのリソースを保持する方が簡単であることがわかりましたクラスフォルダー以外の独自の特別なディレクトリにあるその他のファイル-それらはその方法で管理するのが簡単です。

Eclipseでは、ビルドを行うたびに、このリソースディレクトリ内のファイルが、コンパイルされたクラスとともにビルドディレクトリにコピーされます。

「自動ビルド」がある場合は注意してくださいIDEで(ほとんどの人がそうするように)Eclipseの外部で変更される(つまり、画像編集ツールを使用して画像を編集する)リソースは、IDEがこの変更を常に検出するとは限りません。通常、プロジェクトフォルダーを更新すると、これらの状況でビルド内のファイルが更新されます。

他のヒント

これらはクラスと一緒にsrcフォルダーに置くか、目的のために新しいソースフォルダー(通常 resources と呼ばれます)を作成できますが、コードから同じ場所に配置します。

その後、 getResource(" /com/x/y/foo.png")を使用してそれらを取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top