码迷,mamicode.com
首页 > 编程语言 > 详细

对java中路径的一些理解

时间:2018-03-07 20:13:46      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:get   info   read   oid   如何   bsp   项目结构   oca   源文件   

开始前先贴一下项目结构

技术分享图片


1 public class TestLocation {
2     @Test
3     public void test1(){
4         String s1 = Objects.requireNonNull(TestLocation.class.getResource("")).toString();//------------------5         out.println(s1);
6         String s2 = Objects.requireNonNull(TestLocation.class.getResource("/")).toString();
7         out.println(s2);
8     }
9 }

技术分享图片

从这里可以看出区别
TestLocation.class.getResource("")
TestLocation.class.getResource("/")

classes是编译后的文件夹,

  getResource中啥也不写,就是从当前类编译后所在的目录查找

  getResource中写 / ,就是从编译后文件夹的根目录查找

现在我们做个测试,查找test目录下编译后的文件

技术分享图片

结果和我预想的一样。


 

1 @Test
2     public void test2(){
3         String s1 = Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResource("")).toString();
4         out.println(s1);
5     }

 

技术分享图片

可以看出这个结果和①处相同。

再来做个测试

技术分享图片

 

 技术分享图片

两张图的区别在于

  后者我再getRes的时候加上了包名前缀!

  正如我注释中写的, 类.class.getRes只在类所在的目录中查找资源文件,即使加上了包名前缀也没效果。

 


 

那么下一个问题,

Thread.currentThread().getContextClassLoader().getResource()是如何查找文件的?---------------------------未完待续

 

对java中路径的一些理解

标签:get   info   read   oid   如何   bsp   项目结构   oca   源文件   

原文地址:https://www.cnblogs.com/find-the-right-direction/p/8524713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!