Java中getResourceAsStream的用法(转自:http://www.cnblogs.com/javayuer/archive/2011/01/02/1924192.html)
2013-02-04 16:18
330 查看
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下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中的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的一种实现。
其次,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");
相关文章推荐
- http://www.cnblogs.com/xproer/archive/2011/04/08/2009500.html
- MyEclipse设置编码方式 转载【http://www.cnblogs.com/susuyu/archive/2012/06/27/2566062.html】
- java反射详解-原文地址:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html
- 一些在JAVA中获得文件夹路径的方法http://www.cnblogs.com/lostyue/archive/2011/06/27/2091686.html
- C#中Dictionary的用法及用途 原文转载自:http://www.cnblogs.com/linzheng/archive/2010/12/13/1904709.html
- js call()用法 转载自--http://www.cnblogs.com/sweting/archive/2009/12/21/1629204.html
- SQL union用法转载自http://www.cnblogs.com/johngong/archive/2008/04/25/1170519.html
- 挖掘经典:几乎被人遗忘的HTML七种用法 http://www.cnblogs.com/netWild/archive/2010/11/30/1892418.html
- http://www.cnblogs.com/yuzhongwusan/archive/2009/06/15/1503611.html
- java快速教程-http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html
- CBitMap的用法 from http://www.cnblogs.com/toconnection/archive/2012/08/04/mfc.html
- http://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html
- 标准C++中的string类的用法总结----------http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html
- delete分析 引用于 http://www.cnblogs.com/yuzhongwusan/archive/2012/06/14/2549879.html
- JAVA UUID 生成 - jdonson - 博客园 http://www.cnblogs.com/jdonson/archive/2009/07/22/1528466.html
- Android中Parcelable接口用法http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html
- java常用设计模式(转载http://www.cnblogs.com/hnrainll/archive/2011/12/29/2305582.html)
- http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html web.xml文件详解
- Java 十进制和十六制之间的转化(负数的处理)___http://www.cnblogs.com/literoad/archive/2013/01/25/2875908.html
- Python自省(反射)指南 -----转自http://www.cnblogs.com/huxi/archive/2011/01/02/1924317.html