首先我們來介紹一個概念,classpath,指的是編譯後的class檔案、xml、properties等設定檔所在的目錄。例如,如果是maven項目,classpath為“項目名稱/target/classes”,如果是普通項目,可能是”項目名稱/bin”,或”項目名稱/build/classes”等等。
getResource是java.lang.Class的方法,也就是由字節碼物件呼叫。
(推薦教學:java入門程式)
getResource接受字串參數,如果以」/」開頭,就在classpath根目錄下找(不會遞歸查找子目錄),如果不以”/”開頭,就在呼叫getResource的字節碼物件所在目錄下找(同樣不會遞歸查找子目錄)。
範例:
@Test public void test() { System.out.println(Test1.class.getResource("")); System.out.println(Test1.class.getResource("/")); System.out.println(Test1.class.getResource("Test1.class")); System.out.println(Test1.class.getResource("/Test1.class")); }
第一句,Test1在com.trs.javase下,所以會輸出」xxx.com.trs.javase”,如果是Test2.class調用,就會輸出”xxx.com.trs.javase.subpackage”.
#第二句,會輸出classpath的根目錄。
第三句,會輸出Test1.class所在目錄。
第四句,Test1.class不在classpath根目錄下,所以會輸出null。
輸出結果:
file:/D:/eclipse-workspace/javase/bin/com/trs/javase/ file:/D:/eclipse-workspace/javase/bin/ file:/D:/eclipse-workspace/javase/bin/com/trs/javase/Test1.class null
(影片教學推薦:java影片教學)
以上是實例介紹java中的getResource()方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!