java BufferdImage不加载

时间:2016-10-20 17:38:08

标签: java image file bufferedimage

现在我正在尝试在我的代码中的BufferdImage中加载我的硬盘上的图像。然而,我认为我做的一切都是正确的,但我的尝试只留下了捕获物。

更好理解的代码:

private static BufferedImage image;

public void initPictures() {
    try {
        image = ImageIO.read(new File("Pictures/blue.png"));
    } catch (IOException ex) {
        System.out.println("Will not load");
        ex.printStackTrace();
    }

}

在我的类的构造函数中调用initPictures()。你可以在这里看到我尝试加载的图片位于我的操作系统上的E:\ Dropbox \ Dropbox \ Java Projekte \ FallingBlocks1 \ build \ classes \ Pictures文件夹中。所以“Pictures / blue.png”应该是好的。

Windows文件夹图片:

enter image description here

所以我的Qustion就是:我错过了什么?

编辑:添加了ex.printStackTrace();没有改变想法。

编辑:还尝试在“图片”中加载其他图片,没有其他结果

1 个答案:

答案 0 :(得分:0)

有两种可能性:

<强> 1。您的程序可能没有在包含&#34;图片&#34;的文件夹中运行。文件夹中。

要找出程序的运行位置,请执行System.out.println(System.getProperty("user.dir"));查看您正在运行的文件夹。如果它打印的内容不是E:\Dropbox\Dropbox\Java Projekte\FallingBlocks1\build\classes,您就知道了吗?您向ImageIO.read(file)提供的路径存在问题。对于踢球,您可能还想查看new File("Pictures/blue.png").isFile()正在返回的内容。

<强> 2。您的图片可能无法读取。

如果您尝试第一次测试并且您确定所提供的路径是正确的,那么您的图像文件可能已损坏或无法读取(可能是由访问限制引起的,连接问题,硬件问题等)。尝试指向不同的图像,看看会发生什么。