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

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

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

    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、前面没有 “/”,代表当前类的目录

转载于:https://my.oschina.net/cloudcoder/blog/275402

你可能感兴趣的文章
SendMessage、PostMessage原理
查看>>
如何使用Javascript XSLT 处理XML文件(支持Firefox)
查看>>
第七章——DMVs和DMFs(3)——用DMV和DMF监控TempDB
查看>>
Cloud Foundry技术全貌及核心组件分析
查看>>
jQuery跨域
查看>>
Sencha Touch 和 jQuery Mobile 的比较
查看>>
oracle11g dataguard 完全手册(转)
查看>>
android adb经常使用的命令
查看>>
jsp通过易宝方式实现在线支付
查看>>
Java接口
查看>>
[转]基于四叉树(QuadTree)的LOD地形实现
查看>>
PHP 批量生成静态文件目录代码
查看>>
ss命令和Recv-Q和Send-Q状态
查看>>
访问者模式
查看>>
创建注记图层要素
查看>>
windows系统下的文件夹链接功能mklink/linkd
查看>>
xshell快捷键
查看>>
数据结构 树的顺序存储
查看>>
点击空白处 关闭气泡的问题
查看>>
vue响应式原理
查看>>