图像不会从jar文件加载

时间:2013-06-19 10:49:07

标签: java image jar

我试过搜索但仍然没有得到解决方案。当我导出到jar文件时,我的所有图像突然不再起作用了。它们在eclipse中运行良好,我确保它们在jar文件中。我已经尝试使用get资源方法并使图像加载器类自动上升到目录树但它仍然失败。这就是我所做的:

public static Image load(String path)
{   String temp = path;
    Image image = null;
    try {

     image = new ImageIcon(path).getImage();


    } 

    catch ( Exception e )
    {   
        try {
         while (image == null )
         {
              image = new ImageIcon("../"+ path).getImage();
         }
         if ( path.equals("../../../../../../"+ temp))
         {
             while ( image ==null)
             {
                 image = new ImageIcon("./"+ path).getImage();
             }
         }
        }
        catch ( Exception ae)
        {


        System.err.println("cannot locate image");
    }} 


    return image;
}   

我将发送它的路径如下:“doc / icon.png”

我已将所有图片放在doc文件夹中,结构是最终Project,里面有doc文件夹,然后是包含所有包的src文件夹。

2 个答案:

答案 0 :(得分:5)

尝试使用:

Image.class.getClassLoader().getResource("/filepath/filename").getFile()

答案 1 :(得分:0)

而不是“强力”图像路径试图找出你尝试加载图像的路径是什么。您可以使用以下

查找
System.out.println("Path: " + (this.getClass().getClassLoader().getResource("")).getPath());

然后尝试像这样加载它或像@Balint Bako allready sed。

Image img;
URL url = new File("the path you found out").toURI().toURL();
BufferedImage img = ImageIO.read(url);