Java中getResourceAsStream的用法小结

Java中getResourceAsStream的用法小结 app

1、Java中的getResourceAsStream主要有如下三种用法:
一、Class.getResourceAsStream(String path)  spa

    path 不以’/'开头时默认是今后类所在的包下取资源,以’/'开头则是从ClassPath根下获取。 xml

    实际上是经过path构造一个绝对路径,最终仍是由ClassLoader获取资源。 对象

二、Class.getClassLoader.getResourceAsStream(String path)  资源

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

三、ServletContext.getResourceAsStream(String path) io

    默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,固然这和具体的容器实现有关。 class

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

2、用法示例 file

    1:要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类me.class ,同时有资源文件myfile.xml那么,应该有以下代码:

    me.class.getResourceAsStream("myfile.xml");

     2: 在me.class目录的子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.y.file 目录下有资源文件myfile.xml  那么,应该有以下代码:

    me.class.getResourceAsStream("file/myfile.xml");

    3:
不在me.class目录下,也不在子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.file 目录下有资源文件myfile.xml, 那么,应该有以下代码:

    me.class.getResourceAsStream("/com/x/file/myfile.xml");

    总结一下,可能只是两种写法

    一、前面有 “ / ”,“ / ”表明了工程的根目录

    二、前面没有 “/”,表明当前类的目录

相关文章
相关标签/搜索