wuhui
Published on 2017-09-02 11:31 in 暂未分类 with wuhui

Java中的路径获取

Class.getResource(String path)

path不以'/'开头时,默认是从此类所在的包下取资源;
path以'/'开头时,则是从项目的ClassPath根下获取资源

Class.getClassLoader().getResource(String path)

path不能以'/'开头,path是指类加载器的加载范围,'/'表示Boot ClassLoader,这个类加载器是C++实现的,加载范围为null
Class.getResource(String path)中path可以'/'开头,因为源码里做了判断:
以"/"开头,则通过substring去掉第一个字符'/'

Class.getResourceAsStream(String path)

获取资源为流,path规则,同 Class.getResource(String path)...

Class.getClassLoader.getResourceAsStream(String path)

获取资源为流,path规则,同 Class.getClassLoader().getResource(String path)...
posted @ 2020-09-02 16:03  NoRegrets  阅读(60)  评论(0编辑  收藏  举报