className.class.getResourceAsStream :

一: 要加載的文件和.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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章