• getResourceAsStream 地址


    getResourceAsStream ()返回的是inputstream

    getResource()返回:URL

    Class.getResource("")    返回的是当前Class这个类所在包开始的为置

    Class.getResource("/") 返回的是classpath的位置

    getClassLoader().getResource("")  返回的是classpath的位置

    getClassLoader().getResource("/")  错误的!!

    ======================================================================== 
    Class.getResourceAsStream 和 ClassLoader.getResourceAsStream 
    详细出处参考:http://www.itqun.net/content-detail/237424.html 
    这两个方法还是略有区别的, 以前一直不加以区分,直到今天发现要写这样的代码的时候运行错误, 才把这个问题澄清了一下。

    基本上,两个都可以用于从 classpath 里面进行资源读取,  classpath包含classpath中的路径和classpath中的jar。

    两个方法的区别是资源的定义不同, 一个主要用于相对与一个object取资源,而另一个用于取相对于classpath的资源,用的是绝对路径。

    在使用Class.getResourceAsStream 时, 资源路径有两种方式, 一种以 / 开头,则这样的路径是指定绝对路径, 如果不以 / 开头, 则路径是相对与这个class所在的包的。

    在使用ClassLoader.getResourceAsStream时, 路径直接使用相对于classpath的绝对路径。

    举例,下面的三个语句,实际结果是一样的

      com.explorers.Test.class.getResourceAsStream("abc.jpg") 
    = com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg") 
    = ClassLoader.getResourceAsStream("com/explorers/abc.jpg") 

  • 相关阅读:
    eNSP进行配置网络模拟网络联通
    Labview上使用mydaq采集数据
    Labview实现计算器
    matlab小记(四)
    matlab小记(三)
    matlab小记(二)
    matlab小记(一)
    Python中map和reduce
    Python 如何调用自定义函数
    《机电传动控制》第十一周作业(二)
  • 原文地址:https://www.cnblogs.com/kakaisgood/p/9719070.html
Copyright © 2020-2023  润新知