Java getResource两种使用方式

Posted lay2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java getResource两种使用方式相关的知识,希望对你有一定的参考价值。

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两种使用方式的主要内容,如果未能解决你的问题,请参考以下文章

比较Class.getResource与Class.getClassLoader().getResource两种方式读取资源文件

java的ClassLoader的getResources方法怎么使用

java 要在Java的代码中,直接访问该资源,只需使用getResources.getString或的getString方法来访问给定的资源ID值:

java 要在Java的代码中,直接访问该资源,只需使用getResources.getString或的getString方法来访问给定的资源ID值:

java 要在Java的代码中,直接访问该资源,只需使用getResources.getString或的getString方法来访问给定的资源ID值:

Class和ClassLoader的getResource方法对比