getResourceAsStream用法

原创 2013年12月02日 15:10:36

首先,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");

相关文章推荐

Java中getResourceAsStream的用法[1]

今天写代码的时候发现一个有趣的问题,就是在代码中读取一些资源文件(txt,gif等等)时候,单独运行的时候,当然没问题,但是当我们将项目打包成jar后,尽管资源文件在jar包内,但我们却怎么也访问不到...

Java中getResourceAsStream的用法[2]

首先,Java中的getResourceAsStream有以下几种:  1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类...

框架的概念及用反射技术开发框架的原理<br/>getResourceAsStream用法详解

反射的作用—>实现框架的功能 框架-用户类-工具类:框架与工具类有区别,工具类被用户的类调用,而框架则是调用用户提供的类。 框架要解决的核心问题:框架如何调用未知的类:通过反射来实现 ...

java加载外部文件数据到代码中:外部数据文件放到jar包中,调用方法getResourceAsStream

任务要将数据文件geo.txt加载进行。因为是别人写的总体项目,不能乱动位置。只能将geo.txt打包到jar中某目录。比如,放到.class文件下怎么加载:http://riddickbryant....

Java绝对/相对路径获取与getResourceAsStream()方法

在dos下编译Java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候。classpath就是存放.class等编译后文件的路径。javac:如果当前你要编译的java文件中引...
  • admijk
  • admijk
  • 2017年02月25日 09:31
  • 195

【Java 学习】之 getResourceAsStream

参考blog:http://riddickbryant.iteye.com/blog/436693   读取 xx.class 中字节码,恰巧看到这个方法,然后就用这个方法也试得同。public by...

Java中getResourceAsStream的用法

首先,Java中的getResourceAsStream有以下几种:   1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是...

this.class.getClassLoader().getResourceAsStream

this.class.getClassLoader().getResourceAsStream 博客分类:  java知识点   this.getClass().getCl...

getResource()和getResourceAsStream()以及路径问题

用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file ...

关于ClassLoader中getResource与getResourceAsStream的疑问

背景: 某日临近下班,一个同事欲任何类中获取项目绝对路径,不通过Request方式获取,可是始终获取不到预想的路径。于是晚上回家google了一下,误以为是System.getPrope...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:getResourceAsStream用法
举报原因:
原因补充:

(最多只允许输入30个字)