簡體   English   中英

Java ImageIO.read(getClass().getResource()) 返回 null

[英]Java ImageIO.read(getClass().getResource()) returns null

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

我右鍵單擊項目文件夾 > 構建路徑 > 鏈接源以將圖像文件夾添加為源,再次執行此操作會提供一個確認消息,表明圖像已在源中。

我也嘗試將gate_and.png 更改為images/gate_and.png 和/images/gate_and.png,但由於圖像gate_and.png 在bin 文件夾中,我認為原始是正確的。

假設你的班級在包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 中進行了解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM