Java read()返回null

Java read()返回null,java,imageurl,Java,Imageurl,我对ImageIO.read函数有问题: URL imageURL = this.getClass().getResource(sheetPath); spriteSheet = ImageIO.read(imageURL); ImageIO函数返回null,即使URL是正确的,也会导致.png文件。 我尝试将getResource作为read函数的参数,但也没有成功。是否有人遇到过类似的问题并可能找到了解决方案 问候 编辑: sheetPath为/images/pizzaGirl.png

我对ImageIO.read函数有问题:

URL imageURL = this.getClass().getResource(sheetPath);
spriteSheet = ImageIO.read(imageURL); 
ImageIO函数返回null,即使URL是正确的,也会导致.png文件。 我尝试将getResource作为read函数的参数,但也没有成功。是否有人遇到过类似的问题并可能找到了解决方案

问候

编辑:

sheetPath为/images/pizzaGirl.png

imageURL是文件:/Users/Kevin/Dropbox/workspace/PizzaGirl/bin/images/PizzaGirl.png


图像位于res文件夹中,我通过eclipse的运行配置将其添加到类路径中

检查路径是否正确。要执行此操作,请编写:

System.out.println新文件yourpath.here.exists


如果返回false,请发布路径。我将检查它是否正确。

好的,我尝试用不同的图像替换路径,结果成功了。我回到photoshop,再次导出了我的图像,瞧,它成功了。

ImageIO函数返回空**即使URL是正确的**它会导致一个.png文件。-当你遇到你所看到的错误时,最好不要假设任何东西,尤其是这个假设。很可能,您实际上没有使用正确的资源路径。根据你发布的内容,我们无法得知。显示sheetPath字符串,并向我们显示图像相对于类文件的位置。ImageIO.read是否引发其IOException?此外,是否已调试以检查imageURL是否为非空?images目录实际上是bin目录的子目录?一个可运行的示例。如果我有一个根目录中有res/images的项目。然后做我前面的评论。然后使用路径/images/image.png,它永远不会失败。这就是为什么我说发布一个可运行的示例来演示这个问题。此外,上面的代码,如果路径错误,它将抛出IllegalArgumentException。也就是说,两行代码中没有足够的信息来帮助调试NullPointerException。它可以是任何数量的东西。所有这些都不是由这两行代码引起的。此外,每当出现异常时,发布堆栈跟踪这将检查文件路径而不是资源路径,这是两个完全不同的路径;仅支持以下图像格式:bmp、jpeg、wbmp、gif、png、JPG、JPG、wbmp、jpeg。任何其他格式都将返回为null。请验证图像的内容类型。