抛出:IllegalArgumentException输入== NULL(IllegalArgume

2019-10-30 08:19发布

我想读的图像作为InputStream 。 但由于某些原因,我总是得到一个IllegalArugmentException

这里是我的代码:

BufferedImage i = null; 
i = ImageIO.read(getClass().getResourceAsStream("/res/graphics" + path));

Answer 1:

原因:

你的资源的计算结果为null ,这就是为什么例外

API文档

抛出:IllegalArgumentException -如果输入为null

解:

如果res/graphics/whatever是在类路径的根目录,然后将返回不为空



Answer 2:

基本上,该名称的资源不存在。 资源位于通过相同的方式与名称的类的类加载器res.graphics.whatever ,有当然更相关的一切。 因此,只要使用相同的方法,使一类访问,使这个资源的访问。



Answer 3:

似乎"/res/graphics" + path不计算为所需的值。

下面是你如何使用BufferedImage

public File myImg = new File("someImage.png");
BufferedImage in = ImageIO.read(myImg); 
//Just an example
BufferedImage newImage = new BufferedImage(in.getWidth(), in.getHeight(), BufferedImage.TYPE_INT_ARGB);


文章来源: IllegalArgumentException Input == null