您的位置:首页 > 编程语言 > Java开发

类加载器获取资源路径

2016-06-22 23:58 302 查看
一、同一工程中:

String path = Thread.currentThread().getContextClassLoader().getResource(".").getPath(); 

       System.out.println(path); 

 

       String string = Sample1.class.getClassLoader().getResource(".").getPath(); 

       System.out.println(string); 

 

       String string2 = Sample1.class.getResource(".").getPath(); 

       System.out.println(string2); 

测试结果:

/D:/workspaces/workspace7/demo1/target/classes/ 

/D:/workspaces/workspace7/demo1/target/classes/ 

/D:/workspaces/workspace7/demo1/target/classes/com/alibaba/ 

说明:

Classloader读取文件(即方式1和方法2)都是从classpath开始查找文件;方式3从当前类所在的目录下开始查找文件

二、不同的工程中,实验如下: 

public class Sample2 { 

    public static void main(String[] args) { 

        Sample1 sample1 = new Sample1(); 

        sample1.print(); 

    } 



执行结果:

/D:/workspaces/workspace7/demo2/target/classes/ 

/D:/workspaces/workspace7/demo2/target/classes/ 

/D:/workspaces/workspace7/demo1/target/classes/com/alibaba/ 

 

说明:Classloader获取的内容始终从调用方出发;而一般类的资源获取是从类自身的位置触发
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java class