java - ImageIO 无法读取我的文件? (输入==空)

标签 java image javax.imageio

当我尝试从 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/

相关文章:

CSS 生成的图标与图像

java - 将数据 URL 转换为 BufferedImage

java - 钻石广场执行不当

没有 E 的 Java BigDecimal

java - Jackson 无法在 Android 上加载 JDK7 类型

ios - 在编辑模式下将图像添加到 UITableViewCell 未正确对齐

javascript - 将图像宽度设置为 span 标签

java - 使用 ImageIO.write() 创建 JPEG 创建一个 0 字节文件

Mac OS X 10.9 中的 Java Swing GUI

java - 如何使用 spring+stomp+sockjs 获取 websocket 响应