自动化测试之读取配置文件( 二 )

打印结果:
    file:/Users/qinzhen/Documents/TestDev/MyTraining/XUnit/ResourceTest/target/classes/3.txt    file:/Users/qinzhen/Documents/TestDev/MyTraining/XUnit/ResourceTest/target/classes/test/2.txt四、getResourceAsStream()getResourceAsStream() 方法仅仅是获取对应路径文件的输入流,在路径的用法上与getResource()一致 。
补充其实当我们查看 class.getResource 的源码时发现如下:
public java.net.URL getResource(String name) {    name = resolveName(name);    ClassLoader cl = getClassLoader0();    if (cl==null) {        // A system class.        return ClassLoader.getSystemResource(name);    }    return cl.getResource(name);}  其实这里也是调用了getClassLoader,只是方便了我们使用而已 。
总结

  • class.getResource()不带"/"时候是从当前类所在包路径去获取资源;
  • class.getResource()带"/"时候是从classpath的根路径获取;
  • class.getResource()本质上也是调用了getClassLoader,只是封装了一层方便了我们使用而已;
  • getClassLoader().getResource("")不带"/"时候是从classpath的根路径获取;
  • getClassLoader().getResource("/")路径中无法带有"/";
  • getResourceAsStream() 方法仅仅是获取对应路径文件的输入流,在路径的用法上与getResource()一致;
以上,供大家探讨 。

【自动化测试之读取配置文件】


推荐阅读