文档章节

Java中getResourceAsStream的用法小结

cloud-coder
 cloud-coder
发布于 2014/06/07 11:26
字数 403
阅读 1871
收藏 45

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

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

二、用法示例

    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");

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

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

    2、前面没有 “/”,代表当前类的目录

© 著作权归作者所有

共有 人打赏支持
cloud-coder
粉丝 243
博文 189
码字总数 135000
作品 0
广州
架构师
加载中

评论(1)

iehyou
iehyou
第三个还没用过, 就怕各个容器有差异,好坑
Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。 1)最基本的,方法级别上应用,例如: Java代码 @RequestMapping(value="/departments") public String simplePattern(){ System.out.println(......

again-Y
2013/06/24
0
0
Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。 1)最基本的,方法级别上应用,例如: @RequestMapping(value="/departments") public String simplePattern(){ System.out.println("simpleP......

迷途树袋熊
2013/02/21
0
0
Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。 1)最基本的,方法级别上应用,例如: @RequestMapping(value="/departments") public String simplePattern(){ System.out.println("simpleP......

jackyrong
2013/02/17
0
2
java读取Properties属性文件的方法

Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件,用来配置应用程序的一些信息,通过键值对的形式来保存。 一、通过spring的形式读取 1、spring配置文件: ...

南的糊途
2013/03/13
0
0
读取Properties文件六种方法

开发项目时,经常把一些参数存入Properties文件,以增加程序的灵活性。所以读取properties文件可以说是我们的java基础。我们可以通过以下六种方法读取配置参数(注意:spring对properties的读...

xinlll
2012/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jetbrains系产品IDEA:mac上面提示快捷键设置

原因 由于Mac上面的Ctrl+空格变成输入法切换的快捷键,在使用IDEA的过程中,代码提示很不方便,需要使用option+/这种传统eclipse上面的代码提示快捷键作为主要快捷键。 怎么修改? 移除【opt...

亚林瓜子
33分钟前
0
0
Exclipse 输出结果时换行

System.out.println(f1 + "\n" + d1 + "\n" + d2);

笑丶笑
34分钟前
1
0
怎样治疗标签不能触发onblur事件

I realize this was over a year ago, but it showed up for me in Google while trying to solve this same issue. It seems Chrome does not consider some elements, like body and ancho......

Weijuer
37分钟前
0
0
vue常见库安装

移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,才有了FastClick。 安装fastclick npm insta...

林夏夕
39分钟前
0
0
kafka 教程(三) kafka Java API 编程

下午写

MrPei
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部