7

次のコードはBlueJIDEで正常に実行されていますが、Eclipseでは実行されていません。

String path="images/pic1.jpg";

BufferedImage myPicture = null;
    try {
        myPicture = ImageIO.read(new File(path));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

私のイメージパスは両方のIDEで同じです。また、ディレクトリ構造は*.classファイルとイメージファイルで同じであることがわかりました。

なぜこれは日食だけで起こるのですか?

4

7 に答える 7

1

images フォルダーがリソース フォルダー (つまり、CLASSPATH 上にあることを意味します) であることを確認し、次のように記述してください。

  BufferedImage myPicture = null;
   try {
      myPicture = ImageIO.read("images/pic1.jpg");
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

または代替手段を使用してください。

   BufferedImage myPicture = null;
   try {
      myPicture = ImageIO.read(this.getClass().getResource("/images/pic1.jpg"));
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
于 2012-08-21T05:35:03.730 に答える
1

Eclipse は、既定のファイルの場所を、ルートやパッケージ フォルダーではなく、ルートの bin フォルダーに設定します。ファイルが bin フォルダーにあることを確認します。

于 2012-12-21T02:31:53.620 に答える
1

これは Eclipse のバグではありません。イメージ ファイルを Eclipse プロジェクトのメイン フォルダー (src サブフォルダーではなく) にコピーする必要があります。

于 2013-07-09T16:29:48.520 に答える
0

Eclipse のデフォルト ライブラリは「ImageIO」をサポートしていません。

于 2014-10-28T04:27:29.047 に答える
0

画像パスを確認してくださいSystem.out.println(System.getProperty("user.dir"));

于 2012-12-26T17:26:33.273 に答える
0

これを試して..

String path="d:\\images\\pic1.jpg";

BufferedImage myPicture = null;
    try {
        myPicture = ImageIO.read(new File(path));
    } catch (IOException e) {
        e.printStackTrace();
    }
于 2012-08-21T05:31:03.190 に答える