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)...
原文地址:https://www.cnblogs.com/NoRegrets/p/13602246.html