Java 从.jar文件获取图像
当我在eclipse中导出一个可执行jar文件时,以及当我使用Java 从.jar文件获取图像,java,image,jar,embedded-resource,Java,Image,Jar,Embedded Resource,当我在eclipse中导出一个可执行jar文件时,以及当我使用getClass().getResource()方法时,我需要获取要编译的res文件夹 当前读取图像代码 public Image loadImage(String fileName) { return new ImageIcon(fileName).getImage(); } 不起作用的代码 public Image loadImage(String fileName) { return new ImageIcon
getClass().getResource()
方法时,我需要获取要编译的res文件夹
当前读取图像代码
public Image loadImage(String fileName) {
return new ImageIcon(fileName).getImage();
}
不起作用的代码
public Image loadImage(String fileName) {
return new ImageIcon(getClass().getResource(fileName).getImage();
}
要么:
- 你的路径是错误的,你应该得到一个错误消息,如果是这样,检查它,看看它实际尝试的路径,可能不是你所想的。或者调试并查看它尝试的路径,甚至只是打印它尝试的路径
- 它不在罐子里。使用zip程序检查jar文件和/或将其重命名为在中包含zip,然后打开它以检查文件是否确实存在
public BufferedImage loadImage(String fileName){
BufferedImage buff = null;
try {
buff = ImageIO.read(getClass().getResourceAsStream(fileName));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
return buff;
}
fileName的值只是一个图像名,例如
BuffereImage img=loadImage(“background.png”)
谢谢大家的帮助。好的,谢谢。我似乎无法让eclipse编译jar中的res文件夹,我需要将其添加到类路径吗?我想您正在使用文件菜单中的导出功能?在向导中,您必须包含res文件夹和/或文件和/或文件类型。是的,这就是我要做的,但当我导出可运行的jar文件时,我没有仅用于导出jar文件的选项。请尝试以下操作:右键单击res文件夹,构建路径->用作源文件夹。再次尝试导出。好的,可以了,但是res文件夹中的图像现在位于jar文件的主目录中,因此读取文件的代码是错误的代码-Image player1=loadImage(“res/player1.png”);
文件名的值是多少?罐子的结构是什么?包含这些方法的类来自哪个包?Image player1=loadImage(“res/player1.png”);引号中的位是fileNameNo的值,但我猜您在使用Eclipse时做得不对,如果您尝试访问此帖子:,这可能会帮助您,或者确实可以按照上面提到的步骤执行此代码的实际工作,我必须创建一个名为res的文件夹,在Eclipse中右键单击它,然后单击buildbath:Use As Source folder,然后代码就可以工作了,是的,我以前看过这些帖子。