从.jar文件中获取图像

时间:2012-05-07 22:02:05

标签: java image jar embedded-resource

当我在eclipse中导出可执行jar文件时,我需要获取res文件夹以便在我使用getClass().getResource()方法时它不起作用。

当前阅读图像代码

public Image loadImage(String fileName) {
    return new ImageIcon(fileName).getImage();
}

不起作用的代码

public Image loadImage(String fileName) {
    return new ImageIcon(getClass().getResource(fileName).getImage();
}

2 个答案:

答案 0 :(得分:2)

或者:

  • 您的路径错误,如果是,您应该收到错误消息,检查它以查看它实际尝试的路径,可能不是您的想法。或者调试并查看它尝试的路径,甚至只打印它尝试的路径。

  • 它不在罐子里。用zip程序检查jar文件和/或将其重命名为zip并打开它以检查文件是否真的存在。

答案 1 :(得分:2)

我现在已经修复了问题 - 这是可行的代码

 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的值只是一个图像名称,例如     BufferedImage img = loadImage(“background.png”);

谢谢大家的帮助。