【问题标题】:java BufferdImage dosen´t loadjava BufferedImage 不加载
【发布时间】:2016-10-20 17:38:07
【问题描述】:

所以现在我正在尝试在我的代码中的 BufferdImage 中加载我的硬盘驱动器上的图像。然而,我认为我做的一切都是正确的,但我的 trycatch 只留下了问题。

更好理解的代码:

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 文件夹图片:

所以我的问题是:我错过了什么?

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

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

【问题讨论】:

  • 尝试使用图像文件的完整文件路径,即(new File(Dropbox//JavaProjekte//FallingBlocks1//build//classes//Pictures//blue.png));
  • 异常本身说明了什么?它的信息是什么?
  • 我已经用全路径名试过了;但遗憾的是它没有帮助。
  • 我没有遇到异常。我只在 System.Output 中收到一条消息,上面写着“不会加载”。
  • catch 块中添加一个ex.printStackTrace()(至少)。

标签: java image file bufferedimage


【解决方案1】:

有两种可能:

1.您的程序可能不在包含“图片”文件夹的文件夹中运行。

要找出您的程序在哪里运行,请执行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。您的图片可能不可读。

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

【讨论】:

  • 补丁不正确。修复了路径,现在它工作得很好。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多