Java getResource兩種使用方式
阿新 • • 發佈:2018-03-03
ati 打印 ssl ren classes println tex mac pre
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.txt
file:/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兩種使用方式