从File更改为BufferedImage时出现IOException

时间:2009-10-14 22:28:31

标签: java ioexception bufferedimage

错误:未处理的异常类型IOException。

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

如何从文件位置获取bufferedImage?

2 个答案:

答案 0 :(得分:6)

最好通过检查异常的堆栈跟踪来确定问题的原因。

作为临时措施,请使用以下内容替换这两行:

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;
}

将一些诊断信息发送到标准错误。运行修改后的应用程序并发布结果输出。

可能的原因包括:

  • 文件名错误,
  • 该文件不在应用的当前目录中,
  • 由于操作系统访问控制,该应用程序无法读取该文件,
  • 该文件是可读的,但其格式有问题,
  • 等等。

答案 1 :(得分:2)

文件是否存在?您是否偶然从一个意外的目录中读取?

尝试File.exists()和/或File.canRead()