如何在Java中设置正确的图像路径?

时间:2019-06-19 06:48:58

标签: java image drawimage

无论我写路径总是显示异常的方式,我都尝试用java中的paint方法加载和绘制它

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

我将图像与课程放在同一文件夹中

这是我要在其中加载图像的行

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

3 个答案:

答案 0 :(得分:0)

检查您的输出文件夹...“ pepsi.png”(可能区分大小写)必须与您从中调用的类文件位于同一文件夹中

答案 1 :(得分:0)

尝试像这样测试它。

如果文件是通过java文件生成的,而我的班级是在名为

的程序包中
net.ilightwas.MyClass

应该像

Image img = ImageIO.read(getClass().getClassLoader().getResourceAsStream("net/ilightwas/pepsi.png"));

这可能会帮助您发现错误。

答案 2 :(得分:0)

看看MKYong's tutorial。它显示了放置图像的位置。 如果要将图像作为“资源”加载,则必须将其放入资源文件夹中。您的项目结构如下:

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