java 缓冲图像未加载
java BufferdImage dosen´t load
所以现在我正在尝试在我的代码中的 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();
}
}
在我的 Class 的构造函数中调用了 initPictures()。你可以在这里看到我尝试加载的图片在我的 OS 上的 E:\Dropbox\Dropbox\Java Projekte\FallingBlocks1\build\classes\Pictures 文件夹中。所以"Pictures/blue.png"应该是好的。
Windows文件夹图片:
所以我的问题是:我错过了什么?
编辑:添加了ex.printStackTrace();没有改变想法。
编辑:还尝试将其他图片加载到 "image",但没有其他结果
有两种可能:
1.您的程序可能不在 运行 包含 "Pictures" 文件夹的文件夹中。
要找出您的程序 运行 的位置,请执行 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。您的图像可能无法读取。
如果您尝试第一个测试并且确定您提供的路径是正确的,那么您的图像文件可能已损坏或无法读取(可能是由访问限制、连接问题引起的) 、硬件问题等)。尝试指向不同的图像,看看会发生什么。
所以现在我正在尝试在我的代码中的 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();
}
}
在我的 Class 的构造函数中调用了 initPictures()。你可以在这里看到我尝试加载的图片在我的 OS 上的 E:\Dropbox\Dropbox\Java Projekte\FallingBlocks1\build\classes\Pictures 文件夹中。所以"Pictures/blue.png"应该是好的。
Windows文件夹图片:
所以我的问题是:我错过了什么?
编辑:添加了ex.printStackTrace();没有改变想法。
编辑:还尝试将其他图片加载到 "image",但没有其他结果
有两种可能:
1.您的程序可能不在 运行 包含 "Pictures" 文件夹的文件夹中。
要找出您的程序 运行 的位置,请执行 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。您的图像可能无法读取。
如果您尝试第一个测试并且确定您提供的路径是正确的,那么您的图像文件可能已损坏或无法读取(可能是由访问限制、连接问题引起的) 、硬件问题等)。尝试指向不同的图像,看看会发生什么。