文档章节

Java中getResourceAsStream的用法

三毛々
 三毛々
发布于 2013/06/24 17:54
字数 375
阅读 144
收藏 9

首先,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://blog.csdn.net/gaoyusi4964238/article/details/5340590

共有 人打赏支持
三毛々
粉丝 16
博文 56
码字总数 33881
作品 0
成都
私信 提问
Java中getResourceAsStream的用法小结

Java中getResourceAsStream的用法小结 一、Java中的getResourceAsStream主要有以下三种用法: 1、Class.getResourceAsStream(String path) path 不以’/'开头时默认是从此类所在的包下取资源,...

cloud-coder
2014/06/07
0
1
java读取Properties属性文件的方法

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

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

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

xinlll
2012/11/03
0
0
Ant 中 *Log4j.properties 找不到文件的问题

在用 Ant 进行构建,部署,运行过程中,发现一小问题,就是在运行时总是提示“系统找不到指定的文件”。害得我花了不少时间,最后终于弄清楚了问题的原因。以下的错误代码(贴出来好让后面的...

xiaofer2008
2011/01/14
0
0
java基础专栏—Properties

Properties 一个持久的属性集。Properties可以保存在流中或从流中加载,Map中每个键和值都对应字符串 HashTable的子类,Map集合的方法都可以使用,线程安全 该集合没有泛型,且不能写泛型 它...

T-newcomer
2017/10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
2
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
3
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
4
0
5.线程实现

用于线程实现的Python模块 Python线程有时称为轻量级进程,因为线程比进程占用的内存少得多。 线程允许一次执行多个任务。 在Python中,以下两个模块在一个程序中实现线程 - _thread 模块 th...

Eappo_Geng
昨天
4
0
ServiceLoader

创建一个接口文件在resources资源目录下创建META-INF/services文件夹在services文件夹中创建文件,以接口全名命名创建接口实现类 内容me.zzp.ar.d.PostgreSQLDialectme.zzp.ar.d.Hype...

Cobbage
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部