1. 程式人生 > >Java getResource兩種使用方式

Java getResource兩種使用方式

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兩種使用方式