当我尝试从 res 文件夹中读取图像时,出现此错误:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at SpritePractice.render(SpritePractice.java:103)
at SpritePractice.run(SpritePractice.java:71)
at SpritePractice.start(SpritePractice.java:123)
at SpritePractice.main(SpritePractice.java:131)
图像本身(MarioSpriteSheet.png)位于 res 文件夹中,并且我将名称拼写正确。这里有什么问题?
BufferedImage spriteSheet = new BufferedImage(WIDTH*2,HEIGHT*2, BufferedImage.TYPE_INT_RGB);
try
{
spriteSheet = ImageIO.read(getClass().getResourceAsStream("/res/MarioSpriteSheet.png"));
}catch (IOException e)
{
e.printStackTrace();
}
finally
{
pixelsFromImage = ((DataBufferInt) spriteSheet.getRaster().getDataBuffer()).getData();
}
最佳答案
从文件名中省略 /res/
。如果 res
位于 CLASSPATH 中,则不需要它。
关于java - ImageIO 无法读取我的文件? (输入==空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20019505/