Java ImageIO.read(getClass()。getResource())返回null
假設您的課程在package中view.random.name,則
getClass().getResource('gate_and.png')
會在以下位置尋找資源
/view/random/name/gate_and.png
相對于類路徑的根。您顯然那里沒有該名稱的資源。
通過設置project/images為構建路徑條目,Eclipse將在類路徑中包括所有內容。因此,您的資源將顯示在
/gate_and.png
您可以使用
getClass().getResource('/gate_and.png')
請注意 開頭/,這意味著 開始查看類路徑的根 ,即。這是一條絕對的道路。
所有這些規則在javadoc中進行了解釋。
解決方法線
andImg = ImageIO.read(getClass().getResource('gate_and.png'));
失敗于
Exception in thread 'AWT-EventQueue-0' java.lang.IllegalArgumentException: input == null!
我正在使用Eclipse,并且在bin文件夾下的導航視圖中有文件gate_and.png,表明該文件位于構建路徑中。
在包瀏覽器視圖中,我有
project/src/view/class - This is the class that has the code above.
和
project/images/gate_and.png
我右鍵單擊項目文件夾>構建路徑>鏈接源以將images文件夾添加為源,再次執行此操作會提供一條確認消息,指出源中已存在圖像。
我還嘗試過將gate_and.png更改為images /gate_and.png和/images/gate_and.png,但是由于圖像gate_and.png在bin文件夾中,因此我認為原始圖片是正確的。
相關文章:
1. java中返回一個對象,和輸出對像的值,意義在哪兒2. javascript - Img.complete和img.onload判斷圖片加載完成有什么區別?3. css - chrome下a標簽嵌套img 顯示會多個小箭頭?4. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.5. docker網絡端口映射,沒有方便點的操作方法么?6. mysql - 在不允許改動數據表的情況下,如何優化以varchar格式存儲的時間的比較?7. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?8. css3 - 純css實現點擊特效9. css - 網頁div區塊 像蘋果一樣可左右滑動 手機與電腦10. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?
