如何设置java中图片的正确路径?

How to set the right path to image in java?

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

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

我将图片与 class

放在同一个文件夹中

这是我加载图像的行

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

检查您的输出文件夹...'pepsi.png'(可能区分大小写)必须与您从

调用的 class 文件位于同一文件夹中

试试这样测试。

如果文件来自 java 文件,而我的 class 在名为

的包中
net.ilightwas.MyClass

应该是

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

这可能会帮助您找到错误。

看看MKYong's tutorial。它向您展示了放置图像的位置。 如果你想让图片加载为"resource",你必须把它放在资源文件夹中。您的项目结构将是这样的:

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

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

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