博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中getResourceAsStream的用法
阅读量:6442 次
发布时间:2019-06-23

本文共 1212 字,大约阅读时间需要 4 分钟。

  hot3.png

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

转载于:https://my.oschina.net/sbcagf/blog/782989

你可能感兴趣的文章
Google Analytics
查看>>
【转】什么是云计算
查看>>
MySQL 5.7及以上解压缩版本配置安装
查看>>
Extjs4.0 Chart属性中文解释
查看>>
PHP单例模式的实现
查看>>
httpClient post 数据传输和处理
查看>>
newLISP你也行 --- 字符串
查看>>
【译】Swift 2.0 下面向协议的MVVM架构实践
查看>>
html5拖拽
查看>>
Android工具HierarchyViewer 代码导读(2) -- 建立Eclipse调试环境
查看>>
GC配置对性能的帮助
查看>>
java list按时间倒序、首字母排序
查看>>
hls之m3u8、ts流格式详解
查看>>
中国有望成为全球最大3D打印市场
查看>>
ecshop在其他的页面调用首页的flash主广告的方法
查看>>
lamp安装
查看>>
BDDynamicGridViewController
查看>>
【笔记】《活法》(稻盛和夫)
查看>>
C语言的一些误用和知识总结
查看>>
几何画板如何绘制动态正切函数图像
查看>>