java项目资源加载的几种方法

来源:互联网 发布:男生发型软件 编辑:程序博客网 时间:2024/06/15 06:33

我所了解的加载资源的几种方式:
如图:
这里写图片描述
要在ClassLoaderTest类的main方法里面加载资源有一下几种方法:

1:在没改变线程类加载器的情况下,使用线程类加载器加载资源

    Thread.currentThread().getContextClassLoader().getResourceAsStream("image/image.txt");
 由于我们使用的线程类加载器,所以资源是从classpath路径下加载的。 这里的classpath路径在上图中就是我们所看到的src目录,所以image/image.txt是从classpath下寻找的。 加载test.txt需要参数变为test/im/test.txt

2:使用加载此类的类加载器来加载

ClassLoaderTest t=new ClassLoaderTest();t.getClass().getClassLoader().getResourceAsStream("image/image.txt");
在和1一样的目录下寻找

3.不需要getClassLoader()这一步

   t.getClass().getResourceAsStream("/image/image.txt");
注意:   如果参数改为image/image.txt,默认是从此类所在目录即test目录下加载的这样就加载不到了   反之,则加载目录还是classpath目录同样的:加载test.txt时我们就方便多了   加载test.txt如下
     t.getClass().getResourceAsStream("im/image.txt");
这样就可以了。 因为没有在前面加/,所以是从此类所在包下加载资源的。
1 0
原创粉丝点击