Java中getResourceAsStream用法分析

 更新时间:2015年06月08日 16:26:12   作者:liuzx32  
这篇文章主要介绍了Java中getResourceAsStream用法,较为详细的分析了getResourceAsStream的功能及用法,需要的朋友可以参考下

本文实例讲述了Java中getResourceAsStream用法。分享给大家供大家参考。具体如下:

(一)Java中的getResourceAsStream有以下几种情况:

1. Class.getResourceAsStream(String path) :

#path 不以'/'开头时默认是从此类所在的包下取资源;
#以'/'开头则是从ClassPath根下获取,其原理是通过path构造一个绝对路径,最终还是由ClassLoader来获取资源。

2. Class.getClassLoader.getResourceAsStream(String path) :

#默认则是从ClassPath根下获取,path不能以'/'开头,最终是由ClassLoader获取资源。

3. ServletContext. getResourceAsStream(String path):

#默认从WebAPP根目录下取资源,Tomcat或Resin#[Web容器]下的path是否以'/'开头无所谓,当然这也和具体的容器实现有关。

4. Jsp下的application内置对象就是上面的ServletContext的一种实现。

(二)其中getResourceAsStream大致有以下几种用法:

第一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类me.class ,同时有资源文件myfile.xml

那么,应该有如下代码:

复制代码 代码如下:
me.class.getResourceAsStream("myfile.xml");

第二:在me.class目录的子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.y.file 目录下有资源文件myfile.xml

那么,应该有如下代码:

复制代码 代码如下:
me.class.getResourceAsStream("file/myfile.xml");

第三:不在me.class目录下,也不在子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.file 目录下有资源文件myfile.xml

那么,应该有如下代码:

复制代码 代码如下:
me.class.getResourceAsStream("/com/x/file/myfile.xml");

(三)总结如下,可能只是两种写法

第一:前面有 “   / ”

“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject

复制代码 代码如下:
me.class.getResourceAsStream("/com/x/file/myfile.xml");

第二:前面没有 “   / ”

代表当前类的目录

复制代码 代码如下:
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml");

希望本文所述对大家的java程序设计有所帮助。

相关文章

  • Java实现常见的排序算法代码实例

    Java实现常见的排序算法代码实例

    这篇文章主要介绍了Java实现常见的排序算法代码实例,按照思路实现了以下几个排序算法(冒泡排序、直接插入排序、直接选择排序、快速排序),方便日后用到,特此记录一下,需要的朋友可以参考下
    2023-11-11
  • 如何解决IDEA使用Tomcat控制台中文出现乱码问题

    如何解决IDEA使用Tomcat控制台中文出现乱码问题

    这篇文章主要介绍了如何解决IDEA使用Tomcat控制台中文出现乱码问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java之idea @NotNull @Nullable 注解使用

    Java之idea @NotNull @Nullable 注解使用

    这篇文章主要介绍了Java之idea @NotNull @Nullable 注解使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • mybatis generator 配置 反向生成Entity简单增删改查(推荐)

    mybatis generator 配置 反向生成Entity简单增删改查(推荐)

    这篇文章主要介绍了mybatis generator 配置 反向生成Entity简单增删改查(推荐)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • 详解java封装继承多态

    详解java封装继承多态

    这篇文章主要介绍了java封装继承多态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • mybatis批量插入时,有字段可能为null会报错问题

    mybatis批量插入时,有字段可能为null会报错问题

    这篇文章主要介绍了mybatis批量插入时,有字段可能为null会报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • JVM的GC日志及运行参数解读

    JVM的GC日志及运行参数解读

    这篇文章主要为大家介绍了JVM的GC日志及运行参数解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Maven仓库无用文件和文件夹清理的方法实现

    Maven仓库无用文件和文件夹清理的方法实现

    这篇文章主要介绍了Maven仓库无用文件和文件夹清理的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • StreamAPI多次消费一个stream代码实例

    StreamAPI多次消费一个stream代码实例

    这篇文章主要介绍了StreamAPI多次消费一个stream代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java进阶:Struts多模块的技巧

    Java进阶:Struts多模块的技巧

    Java进阶:Struts多模块的技巧...
    2006-12-12

最新评论