日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Class.getResources()和classLoader.getResources()区别

發布時間:2025/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Class.getResources()和classLoader.getResources()区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Class.getResource(String path)

path不以’/'開頭時,默認是從此類所在的包下取資源; path 以’/'開頭時,則是從ClassPath根下獲取;


package testpackage; public class TestMain {public static void main(String[] args) {System.out.println(TestMain.class.getResource(""));System.out.println(TestMain.class.getResource("/"));} } 輸出結果 file:/E:/workspace/Test/bin/testpackage/ file:/E:/workspace/Test/bin/

如果我們想在TestMain.java中分別取到1~3.properties文件,該怎么寫路徑呢?代碼如下:

package testpackage;public class TestMain {public static void main(String[] args) {// 當前類(class)所在的包目錄System.out.println(TestMain.class.getResource(""));// class path根目錄System.out.println(TestMain.class.getResource("/"));// TestMain.class在<bin>/testpackage包中// 2.properties 在<bin>/testpackage包中System.out.println(TestMain.class.getResource("2.properties"));// TestMain.class在<bin>/testpackage包中// 3.properties 在<bin>/testpackage.subpackage包中System.out.println(TestMain.class.getResource("subpackage/3.properties"));// TestMain.class在<bin>/testpackage包中// 1.properties 在bin目錄(class根目錄)System.out.println(TestMain.class.getResource("/1.properties"));} }

?

Class.getClassLoader().getResource(String path)

path不能以’/'開頭時; path是從ClassPath根下獲取; package testpackage; public class TestMain {public static void main(String[] args) {TestMain t = new TestMain();System.out.println(t.getClass());System.out.println(t.getClass().getClassLoader());System.out.println(t.getClass().getClassLoader().getResource(""));System.out.println(t.getClass().getClassLoader().getResource("/"));//null } }

輸出結果

class testpackage.TestMain sun.misc.Launcher$AppClassLoader@1fb8ee3 file:/E:/workspace/Test/bin/ null

使用Class.getClassLoader().getResource(String path)可以這么寫

package testpackage;public class TestMain {public static void main(String[] args) {TestMain t = new TestMain();System.out.println(t.getClass().getClassLoader().getResource(""));System.out.println(t.getClass().getClassLoader().getResource("1.properties"));System.out.println(t.getClass().getClassLoader().getResource("testpackage/2.properties"));System.out.println(t.getClass().getClassLoader().getResource("testpackage/subpackage/3.properties"));} }

From:http://www.cnblogs.com/yejg1212/p/3270152.html

?

轉載于:https://www.cnblogs.com/xiaoliangup/p/9143180.html

總結

以上是生活随笔為你收集整理的Class.getResources()和classLoader.getResources()区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。