2013-04-05 44 views
0

我知道這樣的問題之前已經被問到過,但我已經查看並嘗試了很多答案,但都沒有成功。我正在嘗試在.jar文件中使用圖像。該圖像存儲在/world/maps/map1.jpg目錄中。使用.jar文件中的圖像的Java語言

  BufferedImage bigImg; 
      try 
      { 
       bigImg = ImageIO.read(getClass().getResourceAsStream("/world/maps/" + name + ".jpg")); 
      } 
      catch(Exception e) 
      { 
       System.out.println(e + ": is the error"); 
       bigImg = null; 
      } 

感謝您的幫助。

忘了說清楚,但是類文件在同一目錄中的圖像

+1

您是否將此目錄添加到您的類路徑中? – 2013-04-05 17:15:51

+0

你的問題是什麼? – 2013-04-05 17:16:07

+0

你會得到什麼錯誤? – tdrury 2013-04-05 17:16:33

回答

1

如果你的目錄樹是一樣的東西:

SomeClass.class 
world 
|--maps 
    |--image.jpg 

您可以使用像一些參考:

SomeClass.class.getResource("./world/maps/image.jpg") 

如果該類在某個其他目錄中,只需將../添加到該路徑。

+0

我試過了,它不起作用,在編譯說是不兼容的類型(需要bufferedimage得到url),也他們在相同目錄,我把它/世界/地圖,因爲這是一個類似的線程上的答案。它沒有工作時,它是一個.jar文件 – 2013-04-05 17:26:03

+0

我不明白。 'BufferedImage bigImg = ImageIO.read(SomeClass.class.getResource(「./world/ maps/image.jpg」))'正常工作。 – elias 2013-04-05 18:44:43

+0

是的,但作爲.jar文件運行時沒有。 – 2013-04-06 08:16:38

0

調用getClass()的類必須位於同一個jar中。路徑必須區分大小寫。你確定name"image"

+0

是的,它從命令行(java開始)完成時,重點是我需要它從一個.jar文件 – 2013-04-05 17:34:13