描述:
Java中取资源时,经常用到Class.getResource
和ClassLoader.getResource
,这里来看看他们在取资源文件时候的路径问题。
获取方式有4种(类/类对象是否调取ClassLoader)
1.通过类.class.getResource()
2.通过类.class.getClassLoader().getResource()
3.通过类对象.getClass().getClassLoader()
4.通过类对象.getClass().getResource()
1.Class.getResource(String path)
path不以’/'开头时,默认是从此类所在的包下取资源;
path 以’/'开头时,则是从ClassPath根下获取;
System.out.println(CheckCodeUtil.class.getResource(""));//默认是从此类所在的包下取资源
System.out.println(CheckCodeUtil.class.getResource("/"));//从ClassPath根下获取
2.classLoader().getResource()
不以’/'开头时,path是从ClassPath根下获取;
path不能以’/'开头;
System.out.println(CheckCodeUtil.class.getClassLoader().getResource(""));//ClassPath根下获取;
System.out.println(CheckCodeUtil.class.getClassLoader().getResource("/"));//不能以/开头