无论我写路径总是显示异常的方式,我都尝试用java中的paint方法加载和绘制它
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
我将图像与课程放在同一文件夹中
这是我要在其中加载图像的行
Image img = ImageIO.read(getClass().getResourceAsStream("pepsi.png"));
答案 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);
}