1. 使用Class的getResourceAsStream()方法讀取Properties文件(資源文件)的路徑問題:
InputStream in = this.getClass().getResourceAsStream("資源Name");
注意:
(1)這種方式要求 Properties資源文件必須與當前類文件在同一個包下(同文件夾下) ,如果不在則會報空指針異常,如果不在同一個包(文件夾)下可以使用,如果方
式:
InputStream in = this.getClass().getResourceAsStream("/testcase/test.txt");
或
InputStream in = PropertiesUtil.class.getResourceAsStream("/testcase/test.txt");
(2)獲取獲取當前類所在的包路徑:
String packagePath = this.getClass().getResource("").getPath();
2.使用Class.getClassLoader()的getResourceAsStream()讀取Properties文件(資源文件)的路徑問題:
InputStream in = this.getClass().getClassLoader().getResourceAsStream("testcase/test.txt");
注意:
(1)使用getClassLoader()獲取的是classpath路徑;
(2)雖然也可以使用Object.class.getClassLoader().getResourceAsStream("/testcase/test.txt")來獲取資源文件,但是如果在Web項目中的話,會得到一個Null值,所以
保 險 起見,就是這個類的本身名字來直接獲取Class對象,如果我這個類為PropertiesUtil.java,可以使用如下方式獲取:
PropertiesUtil.class.getClassLoader().getResourceAsStream("/testcase/test.txt");
****************************************************************************************【來自我另一博文】
-轉
