我有以下目錄結構在我的Java項目:使用class.getResource()在.jar中加載文件?
該項目由Maven
管理,並在包中的所有資源都投入到一個單一的.jar
文件。
在Utils.java
我加載car.jpg
,由於紋理文件在classpath中我用下面的方法來獲取有關文件句柄:
URL url = Utils.class.getResource("/textures/car.jpg");
我已經看到了關於很多的困惑在類路徑中獲取對文件的引用時使用哪種方法。
是class.getResource()
正確的使用方法?還是class.getResourceAsStream()
提供任何好處?
那麼如果你只是想'InputStream',我會使用'getResourceAsStream'。如果你正在使用一個很樂意使用'URL'的東西,那麼我們就是'getResource'。你的代碼不工作,或者你真的只是問這兩種方法中的哪一種? – 2014-09-05 16:55:38
我沒有看到任何區別。這取決於你可以使用哪個返回值。例如'ImageIcon'將一個'URL'而不是'InputStream'作爲構造函數的參數。 – 2014-09-05 16:56:55