2012-03-05 110 views
1

我正在創建一個遊戲作爲項目,並且我已經完成了代碼並進行了調試。我遇到的問題是使代碼運行一個jar。我知道錯誤是途徑的圖像是錯誤的,當我出口它作爲一個可運行jar文件(使用eclipse出口),但我不知道有什麼途徑是把我的ImageIO.read(new File("pathway/filename.jpg"));.jar文件的路徑

+1

您應該將圖像作爲資源加載,而不是文件。 – 2012-03-05 22:15:43

+0

我該怎麼做? – 2012-03-05 22:17:19

+0

我不知道我明白這個問題,但我認爲你正在尋找ClassLoader.getResourceAsStream() - http://stackoverflow.com/questions/793213/getting-the-inputstream-from-a-classpath-resource -xml-file – theglauber 2012-03-05 22:18:29

回答

2

"Accessing Resources"從文檔。

你想要ClassLoader.getResource()的一些變種,儘管你是通過類加載器還是類來訪問取決於你想要如何打包東西。以下是我通常所做的:

InputStream resourceStream 
        = MyClass.class.getResourceAsStream("/pathway/in/jar/filename.jpg"); 
BufferedImage image = ImageIO.read(resourceStream); 
+0

對於in/jar,你是在/ jar還是像/ jarname.extension中說的? – 2012-03-05 22:30:53

+0

如果jar中的路徑是「/images/filename.jpg」,那麼我會用它作爲參數。 – 2012-03-05 23:01:05

+0

好的,謝謝,這是我的第二年Java,並沒有遠過我的學校子集。 – 2012-03-05 23:46:28