51

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

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

4

2 に答える 2

62

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

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

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

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

于 2008-11-06T21:40:10.300 に答える
8

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

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

于 2008-11-06T20:45:58.990 に答える