Java Can';t加载图像-未找到图像
我试图加载一个图像作为我的platformer的一部分,但它无法找到该图像,我将其放入默认包中,该包与类相同Java Can';t加载图像-未找到图像,java,image,embedded-resource,bufferedimage,Java,Image,Embedded Resource,Bufferedimage,我试图加载一个图像作为我的platformer的一部分,但它无法找到该图像,我将其放入默认包中,该包与类相同 public BufferedImage loadImage() { try { BufferedImage img = ImageIO.read(new File("level.jpg")); System.out.println("Level Found!"); return img; } catch (IOException e) { Sy
public BufferedImage loadImage() {
try {
BufferedImage img = ImageIO.read(new File("level.jpg"));
System.out.println("Level Found!");
return img;
} catch (IOException e) {
System.out.println("Level Missing!");
return null;
}
}
如果像这样引用文件
新文件(“level.jpg”)
,则必须将这些文件放入当前目录。在大多数情况下,它不是默认的包目录
例如,使用Eclipse,您的典型目录结构如下:
+ MyProject
|
+ src
|
+ org/mypackage1
+ org/mypackage2
为了使新文件(“level.jpg”)
正常工作,必须将level.jpg
放入项目根目录,如下所示
+ MyProject
|
+ src
| |
| + org/mypackage1
| + org/mypackage2
|
+ level.jpg
使用类加载器的get resource方法能否将Stacktrace粘贴到此处?文件是否正确部署在类路径中?请尝试提供绝对路径……通常最好同时获取图像等资源以及资源。部署时,这些资源可能会成为一种资源。在这种情况下,必须通过
URL
而不是File
访问资源。有关如何形成URL
,请参见标签。您指的是src目录而不是project root我指的是project root。Src目录是默认的包。只需单击答案下方的edit
按钮即可查看“源代码”。绘制这样的ascii图形非常容易:-)你的建议很好——你能为原始海报提供更多的细节来扩展它吗?@HovercraftFullOfEels很好。我添加了一条评论,说的几乎是相同的事情,但比整个答案更详细!