ImageIO无法读取图像输入文件

时间:2019-11-25 18:21:10

标签: java image bufferedimage ioexception

这是我的第一篇文章。如果我犯了一个明显的错误,请原谅。

BufferedImage img = null;

File file = new File("com/game/assets/badlogic.jpg");

try {
   img = ImageIO.read(file);
} catch (IOException e) {
    e.printStackTrace();
}

这是我的代码,由于某种原因它无法读取我的图像输入文件。 这是错误消息:

javax.imageio.IIOException: Can't read input file!
    at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1308)
    at com.engine.Main.run(Main.java:41)
    at java.base/java.lang.Thread.run(Thread.java:844)
    at com.engine.Main.start(Main.java:32)
    at com.game.GameManager.main(GameManager.java:51)

我不知道我在做什么错。无论如何,谢谢你,好心的陌生人。

我知道了!

BufferedImage img = null;

try {
   img = ImageIO.read(new FileInputStream("/Users/earmalys/Desktop/InteliJ projects/mantengine/src/com/game/assets/badlogic.jpg"));
} catch (IOException e) {
   e.printStackTrace();
}

但是文件路径非常精确。反正我能解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

每当我从文件中获得BufferedImage时,我就会发现使用FileInputStream比使用File要容易得多。这是一个示例:

try {
    BufferedImage image = ImageIO.read(new FileInputStream("com/game/assets/badlogic.jpg"));
} 
catch (IOException e) { 
    e.printStackTrace();
}