首页 > 解决方案 > 如何在java中设置正确的图像路径?

问题描述

我正在尝试使用Java中的paint方法加载和绘制它,无论我以何种方式编写路径它总是显示异常

java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(Unknown Source)

我将图像与班级放在同一文件夹中

这是我正在加载图像的行

    Image img = ImageIO.read(getClass().getResourceAsStream("pepsi.png"));

标签: javaimagedrawimage

解决方案


看看MKYong 的教程。它向您展示了将图像放在哪里。如果要将图像作为“资源”加载,则必须将其放在资源文件夹中。您的项目结构将是这样的:

MyProject
    +--src
        +--main
            +--java
            |    +-com
            |       +--me
            |           +--Main.java
            +--resources
                 +--pepsi.jpg

并在您的Main班级中执行该代码段:

try {
    Image img= ImageIO.read(Main.class.getClassLoader().getResourceAsStream("pepsi.jpg"));
    System.out.println(img.getWidth(null));  //this is just a test, when it prints out the width of your image, you have the right file loaded 
} catch (IOException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}

推荐阅读