zoukankan      html  css  js  c++  java
  • 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") 

  • 相关阅读:
    apicloud入门学习笔记1:简单介绍
    QT入门学习笔记1:为什么要选QT及QT软件下载
    Altium Designer入门学习笔记1.软件安装与资料收集
    win 下安装mysql 服务
    几秒后跳转到新页面
    计算3天的日期
    alibaba json
    WebService和Rest Service
    count(*),count(1)和count(主键)的区别
    mybatis替换符号
  • 原文地址:https://www.cnblogs.com/kakaisgood/p/9719070.html
Copyright © 2011-2022 走看看