2016-12-24 2 views
0

私のアプリケーションでは、いくつかのイメージファイルが使用されています。 File - > Project Structure - > Artifacts - > Output Layoutのアーティファクトに手動で追加しました。アーティファクトを構築してアーカイブマネージャで開くと、イメージファイルがルートパスの下にあることがわかります。IntelliJ IDEA、アーティファクト内にイメージファイルをパックしてロードする

Javaコードでどのように読み込むことができますか?私は単純なパス( "image.png"のような)とgetClass()。getResource()だけでなく、別の場所の下にファイルを移動してみましたが、何も動作していないようです。

+0

完全絶対パスを使用すると効果があります。 –

答えて

0

2つのオプションがあります: 1)System.getProperty("user.dir")を使用して、現在のユーザーディレクトリを取得します。これはプロジェクトのルートパスまたはシステムパスです。ファイルをそこに置くことができます(#1を参照)

2)Classloader ClassLoader.getResource(String name)を使用してください。親委譲モデルのために、JVMはまず親クラスローダーのクラスパスでファイルを探します。 IDEAを使用する場合、最も簡単な方法は、mavenを使用して新しいプロジェクトを作成することです。 resourcesフォルダがmainフォルダの下に作成されます。 enter image description here

+0

リソースディレクトリがありません。作成して別のパスの下に追加しようとしましたが、動作しません。 – Shepard

0

私は、その後のgetClass()。getResourceの(「画像を呼び出します(私の場合は「GUI」)同じパッケージにそれらを使用するクラスのをリソース(「画像」フォルダ)を入れていました/icon.png ")。

関連する問題