標籤:sse post java java.net 調用 out load 理解 system
1、建立一個Java項目;
2、在src/main/java下建立一個test包;
3、在test包下建立一個Test.java檔案 和 file.txt 檔案;
4、Test.java檔案內容編寫如下:
package test;import java.net.URL;public class Test { public static void main(String[] args) { URL url = Test.class.getResource("file.txt"); System.out.println(url); url = Thread.currentThread().getContextClassLoader().getResource("test/file.txt"); System.out.println(url); }}
列印結果是file.txt檔案的絕對路徑,如下:
file:/Users/lay-mac/Desktop/svn/ali-mine/web/chapter3/target/classes/test/file.txtfile:/Users/lay-mac/Desktop/svn/ali-mine/web/chapter3/target/classes/test/file.txt
我們看到了以上兩種調用getResource的方法:
1)Class調用
這種調用方式我們可以理解為相對於Test.class檔案所在的位置
file:/Users/lay-mac/Desktop/svn/ali-mine/web/chapter3/target/classes/test/
拼接上
file.txt
2)classLoader調用
類載入器調用方式我們可以理解為相對於類路徑的位置:
file:/Users/lay-mac/Desktop/svn/ali-mine/web/chapter3/target/classes/
拼接上
test/file.txt
注意:file.txt 和 text/file.txt 都不能在之前加上 " / ",這樣會找不到從而返回null
Java getResource兩種使用方式