问题描述
- 求大神解决 我很少问人 一般都是百度搞定 这次是真的搞不定了
-
这是抛出的异常
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at GameUtil.GameUtil.getimage(GameUtil.java:28)
at solar.SolarFrame.(SolarFrame.java:11)
at solar.SolarFrame.main(SolarFrame.java:22)sdcf
这是关键类 的代码
public class GameUtil {
private GameUtil(){ }//工具类通常会将构造方法私有。 public static Image getimage(String path){ URL u = GameUtil.class.getClassLoader().getResource(path); BufferedImage img = null; try { img = ImageIO.read(u); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return img; }
}
这是加载类的代码
package solar;
import java.awt.Graphics;
import java.awt.Image;import GameUtil.Constant;
import GameUtil.GameUtil;
import GameUtil.MyFrame;public class SolarFrame extends MyFrame{
Image bg = GameUtil.getimage("image/bg.jpg");
//Image sun1 = GameUtil.getimage("iamges/sun.jpg");
//star sun = new star("images/sun.jpg",Constant.GAME_HIGHT/2,Constant.GAME_WIDTH/2);public void paint(Graphics g){ //g.drawImage(sun1, 300, 300, null); //sun.draw(g); g.drawImage(bg, 0, 0,null); } public static void main(String[] args) { new SolarFrame().launchFrame(); }
}
为什么会抛出input == null 我的图片在相应的文件夹里 E:8eb6d704007793879b0b322e3194a7eclipse工作空间SolarSystemsrcimages
剩下的我就真的不知道该怎么办了 大神们啊 谢谢啦 小弟快被搞疯了!!!!!!!!!!!
解决方案
路径处理有问题,如果是android,请将资源放入到assets中,Java的话,就读取相对路径即可
解决方案二:
路径和文件名区分大小写的。仔细检查下。
解决方案三:
你的图片从GameUtil中的Classloader加载的,你的输入路径是什么?
解决方案四:
路径有中文?可以看看path和url是什么
解决方案五:
路径中不要有中文,还有在加载那里,输出下实际加载的路径是什么
解决方案六:
路径处理有问题,如果是android,请将资源放入到assets中,Java的话,就读取相对路径即可