ClassLoader.getSystemResourceAsStream()

一: 要加載的文件和.class文件在同一目錄下,例如:com.x.y 下有類Test.class ,同時有資源文件config.properties
那麼,應該有以下代碼:
//前面沒有「/」表明當前類的目錄
InputStream is1 = Test.class.getResourceAsStream("config.properties");
System.out.println(is1);// 不爲null
 
第二:在Test.class目錄的子目錄下,例如:com.x.y 下有類Test.class ,同時在 com.x.y.prop目錄下有資源文件config.properties
那麼,應該有以下代碼:
//前面沒有「/」表明當前類的目錄
InputStream is2 = Test.class.getResourceAsStream("prop/config.properties");
System.out.println(is2);//不爲null
 
第三:不在同目錄下,也不在子目錄下,例如:com.x.y 下有類Test.class ,同時在 com.m.n 目錄下有資源文件config.properties
那麼,應該有以下代碼:
//前面有「/」,表明了工程的根目錄
InputStream is3 = Test.class.getResourceAsStream("/com/m/n/config.properties");
System.out.println(is3);//不爲null


ClassLoader.getSystemResourceAsStream :

和className.class.getResourceAsStream 的第三種取得的路徑同樣,但少了「/」
 
InputStream is4 = ClassLoader.getSystemResourceAsStream("properties/PayManagment_Config.properties");
System.out.println(is4);//不爲null
相關文章
相關標籤/搜索