Java中如何使用getResourceAsStream方法呢?

欣喜 Java经验 发布时间:2023-11-20 17:27:47 阅读数:5303 1
下文笔者讲述getResourceAsStream方法的功能简介说明

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下path是否以’/'开头无所谓
       当然这和具体的容器实现有关。 

4. Jsp下的application内置对象就是上面的ServletContext的一种实现。 
      第一:
       要加载的文件和.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"); 
getResourceAsStream:
      读取的文件路径只局限与工程的源文件夹中
        包括
             在工程src根目录下,以及类包里面任何位置
             当配置文件路径是在除了源文件夹之外的其他文件夹中时
         则此方法无法使用
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202311/17004734627338.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者