在罐子里加载图像

时间:2012-09-15 13:25:44

标签: java image jar resources embedded-resource

我正在使用eclipse,并使用以下代码从文件夹加载我的图像。

getClass().getResource("/images/image.jpg").getFile())

图像文件夹位于项目文件夹中的bin文件夹内。它在eclipse中加载时工作正常,但是当我将它导出到jar时它不会加载。我已经尝试将图像文件夹放在jar中的所有可能位置,但事实并非如此。

如何在jar中加载图像文件夹?

2 个答案:

答案 0 :(得分:2)

您可以使用getResourceAsStream()方法获取文件数据的InputStream实例。

UPDATE :在类加载器的帮助下从jar中加载文件。它可以为您提供任何内部资源的InputStream(而不是FileInputStream)实例(无论是图像文件还是声音文件或文本文件)。文件写入不应该在jar内部工作。

答案 1 :(得分:1)

使用它。这种方法doesn't return immediately

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

如果您想从JAR的根目录加载,那么

return new ImageIcon(getClass().getClassLoader().getResources(img)).getImage();