2015-04-01 17 views
0

目前,我有一個編譯JAR文件如下:從JAR內訪問一個PNG

RunMe.jar 
-GUIFile.class 
-Main.class 
-Notify.class 
-resources 
--sprites 
---myimg.png 
-com 
--random 
---package 
----MakeNotify.class 

請向我解釋如何訪問PNG myimg.png內MakeNotify.java

感謝所有的建議提前。

回答

0

這取決於您希望如何閱讀它,但一般情況下,您希望使用Class#getResourceClass#getResourceAsStream

喜歡的東西...

BufferedImage img = ImageIO.read(getClass().getResource("/resources/sprites/myimg.png")); 

例如...

+0

此外,檢查該資源已被編譯到你的戰爭/罐/耳。 Maven會確保這一點,但是你的項目目錄結構看起來不像Maven項目。 – kiwiron 2015-04-01 07:50:53

+0

@kiwiron由於root是'RunMe.jar',我假定這是打包輸出 – MadProgrammer 2015-04-01 09:39:12

+0

正確,這是打包的輸出。這些文件都在jar文件中。 – Alvarez 2015-04-01 12:56:53