ImageIO 无法读取图像输入文件

ImageIO can't read image input file

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

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

但是文件路径非常准确。无论如何我可以解决这个问题吗?

每当我从文件中得到 BufferedImage 时,我发现使用 FileInputStreamFile 更容易。这是一个例子:

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