私はEclipseを使用してJavaプログラムに取り組んでいます。現在、memory.views と memory.resources の 2 つのパッケージを含む src フォルダーがあります。
memory.views パッケージにMain.java
ファイルがあります。memory.resources パッケージには、.txt ファイルと .gif ファイルがあります。
プログラム内では.txt
、 path を使用してファイルにアクセス (および操作) することに問題はありません/memory/resources/name.txt
。ただし、.gif
以下のコードを使用してファイルで同じことを行うと、結果が得られません。
ImageIcon icon = new ImageIcon("/memory/resources/name.gif");
エラーは発生しません。唯一の影響は、プログラムの実行中に画像が表示されないことです。
私も次のように書いてみましたが、どれもうまくいきませんでした:
ImageIcon icon = new ImageIcon("/resources/name.gif"); <br>
ImageIcon icon = new ImageIcon("name.gif");
さて、ファイルのせいだと誰も言わないように.gif
、私は実際に完全な Finder パス (私は Mac を使用しています) を入力しましたが、それは完全に機能しました:
ImageIcon icon = new ImageIcon("/Users/[...]/src/memory/resources/name.gif");
ただし、プログラムをエクスポートして別のコンピューターで実行すると、プログラミングを行っていないコンピューターにも画像が表示されないため、フル パスは使用したくありません。
ですから、何が問題なのか、今の私にもわかりません。.gif ファイルは時々機能しますが、常に機能する .txt ファイルと同じパスを介してアクセスすると機能しません。こちら(getResources() メソッドを使用してリソースにアクセスできない )を調べてみましたが、彼は私とは少し異なる問題を抱えていたようです。