2

エラー: 未処理の例外タイプ IOException。

File imgLoc = new File("player.png");
BufferedImage img = ImageIO.read(imgLoc);

ファイルの場所から bufferedImage を取得するにはどうすればよいですか?

4

2 に答える 2

6

問題の原因は、スタックトレースで例外を調べることによって最もよく判断できます。

一時的な措置として、これらの 2 行を次のように置き換えます。

File imgLoc = new File("player.png");
BufferedImage img;
try {
   img = ImageIO.read(imgLoc);
} catch (IOException ex) {
   System.err.println(ex.getMessage());
   ex.printStackTrace();
   throw ex;
}

いくつかの診断を標準エラーに送信します。変更したアプリを実行し、結果の出力を投稿します。

考えられる原因は次のとおりです。

  • ファイル名が間違っていて、
  • ファイルはアプリの現在のディレクトリにありません。
  • オペレーティング システムのアクセス制御により、アプリでファイルを読み取ることができません。
  • ファイルは読み取り可能ですが、形式に問題があります。
  • など。
于 2009-10-14T22:36:36.143 に答える
2

ファイルは存在しますか? 偶然、予期しないディレクトリから読み取っていませんか?

File.exists()および/またはFile.canRead( ) を試してください

于 2009-10-14T22:33:07.117 に答える