Java中getResourceAsStream的

news/2024/7/1 20:42:19

from: http://www.cnblogs.com/javayuer/archive/2011/01/02/1924192.html


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


http://www.niftyadmin.cn/n/2042156.html

相关文章

winscp 显示隐藏文件

1. 在winscp右下角,有个显示隐藏文件的数目, 双击即可显示隐藏文件 2. 在面板上配置显示隐藏文件

基于android的反邪教科普信息app(springboot+uinapp+Mysql)

网络的广泛应用给生活带来了十分的便利。所以把反邪教科普管理与现在网络相结合,利用java技术建设反邪教科普app,实现反邪教科普的信息化。则对于进一步提高反邪教科普管理发展,丰富反邪教科普管理经验能起到不少的促进作用。 反邪教科普app能…

基于android的慈善公益机构智慧管理APP(ssm+uinapp+Mysql)

爱心小屋公益机构智慧管理app能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知爱心小屋公益机构智慧管理app的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于爱心小屋公益机构智慧…

少儿编程-教育:少儿编程教育

ylbtech-少儿编程-教育:少儿编程教育1.返回顶部 1、少儿编程教育是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力的课程。中文名:少儿编程教育外文名:kid coding受众人群:6-18岁青少年儿童…

【问题记录】linux中apache升级过程中遇到的一些问题,make[2]: *** [ab] Error 1

Exception:httpd-2.4.39 编译阶段失败,make[2]: *** [ab] Error 1 错误日志如下: -1.la -luuid -lrt -lcrypt -lpthread -ldl -lm -L/usr/kerberos/lib64 -lssl -lcrypto -ldl -lz -luuid -lrt -lcrypt -lpthreadab.o: In function ssl_proce…

apache install

1. download apache: http://www.apachelounge.com/download/VC11/ 2. install V11 微软组件 https://www.microsoft.com/en-us/download/confirmation.aspx?id30679 3. install apache under directory c:\Apache24. No need to change conf\httpd.conf. Else Documen…

第三天 python基础

函数的定义方式 无参函数 不需要接收外部传入的参数 def foo():print(from foo) foo() 结果: from foo 有参函数 需要接收外部传入的参数 def login(user,pwd):print(user,pwd)login(zxy,111) 结果: zxy 111 传参缺一不可 比较两个数的大小 def max2(x,y…

基于asp.net714零食销售海米跨境电子商务商城

零食是很多人在茶前饭后所喜欢的食品之一。传统的零食购买方式都是到超市或者专卖店进行购买,但是随着网络的发展,人们越来越愿意通过网上下单,物流配送直接送达自己手里来进行品味。为了能够让更多的人。更加方便快捷的买到自己喜欢的零食,我…