文档章节

Java中getResourceAsStream的用法小结

cloud-coder
 cloud-coder
发布于 2014/06/07 11:26
字数 403
阅读 1929
收藏 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
粉丝 247
博文 191
码字总数 135000
作品 0
广州
架构师
私信 提问
加载中

评论(1)

iehyou
iehyou
第三个还没用过, 就怕各个容器有差异,好坑
java读取Properties属性文件的方法

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

南的糊途
2013/03/13
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
读取Properties文件六种方法

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

xinlll
2012/11/03
0
0
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

没有更多内容

加载失败,请刷新页面

加载更多

教你React Native使用fetch实现图片上传

这篇文章主要介绍了详解react关于事件绑定this的四种方式,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 在react组件中,每个方...

前端攻城老湿
4分钟前
1
0
webpack+vuex+axios 跨域请求数据的示例

本篇文章主要介绍了webpack+vuex+axios 跨域请求数据,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 使用vue-li 构建 webpack项...

前端攻城小牛
9分钟前
1
0
基础编程题目集-6-10 阶乘计算升级版

本题要求实现打印非负整数阶乘,其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。 输入格式: 每个输入包含一个测试...

niithub
9分钟前
1
0
聊聊flink的FsStateBackend

序 本文主要研究一下flink的FsStateBackend StateBackend flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/StateBackend.java @PublicEvolvingpublic interface Sta......

go4it
38分钟前
1
0
webpack配置proxyTable时pathRewrite无效的解决方法

webpack配置接口地址代理 在项目开发中,接口联调的时候一般都是同域名下,且不存在跨域的情况下进行接口联调,但是当我们在本地启动服务器后,比如本地开发服务下是 http://localhost:8080 ...

前端小攻略
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部