2013-11-28 93 views
1

我想加載一個圖像作爲我的平臺遊戲的一部分,但它不能縫找到圖像,我把它放入默認包,這是類無法加載圖像 - 圖像未找到

public BufferedImage loadImage() { 
    try { 
    BufferedImage img = ImageIO.read(new File("level.jpg")); 
    System.out.println("Level Found!"); 
    return img; 

    } catch (IOException e) { 
    System.out.println("Level Missing!"); 
    return null; 
    } 
} 
+1

你可以粘貼你的Stacktrace嗎? – Prasad

+0

文件是否正確部署在您的類路徑中? –

+1

嘗試提供絕對路徑.... –

回答

3

如果你參考你的文件,像這樣new File("level.jpg")你必須把這些文件放到當前目錄。在大多數情況下,它不是默認的軟件包目錄。

例如使用Eclipse中的目錄結構會是這樣的:

+ MyProject 
    | 
    + src 
    | 
    + org/mypackage1 
    + org/mypackage2 

爲了得到new File("level.jpg")工作,你必須把level.jpg到項目的根目錄下,這樣

+ MyProject 
    | 
    + src 
    | | 
    | + org/mypackage1 
    | + org/mypackage2 
    | 
    + level.jpg 
+0

你的意思是src目錄,而不是項目根 – Keerthivasan

+0

+1的包結構,你是怎麼做到的? – Keerthivasan

+0

我的意思是項目根。 Src目錄是默認包。只需點擊答案下方的編輯按鈕即可查看「源代碼」。繪製這樣的ascii圖形非常簡單:-) –

0

使用獲取類加載器的資源方法

+2

您的建議很好 - 您可以通過提供更多關於原始海報益處的更多細節來擴展它嗎? –

+1

@HovercraftFullOfEels好點。我添加了一個評論,說的很多相同的東西,但比這整個答案更詳細! –