从File更改为BufferedImage时出现IOException

Jon*_*han 2 java bufferedimage ioexception

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

File imgLoc = new File("player.png");
BufferedImage img = ImageIO.read(imgLoc);
Run Code Online (Sandbox Code Playgroud)

如何从文件位置获取bufferedImage?

Ste*_*n C 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;
}
Run Code Online (Sandbox Code Playgroud)

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

可能的原因包括:

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