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用法

getResourceAsStream
  • LittleSkey
  • LittleSkey
  • 2016年07月21日 21:49
  • 255

java中使用相对路径读取文件的写法总结 以及getResourceAsStream()

读取文件的写法,相对路径在当前的目录结构中读取test.txt的有三种写法 File file = new File("src/test.txt"); File file = new File(Te...
  • my__Sun_
  • my__Sun_
  • 2017年07月05日 15:03
  • 2127

android studio下使用getclassloader().getresourceasstream()的问题

我遇到的问题有两个原因,一个是标题的问题,另一个是用错了PullParser的getText()和nextText(). 后者是因为马虎.前者比较复杂. 过程是这样的: 错误一直报的是这行InputS...
  • wangshushuo
  • wangshushuo
  • 2015年01月17日 15:16
  • 3535

Class.getResourceAsStream()与ClassLoader.getResourceAsStream()的区别

Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致。      例如你写了一个MyTest类在包com.test.mycode 下,那么MyTes...
  • zhanghaipeng1989
  • zhanghaipeng1989
  • 2014年02月17日 13:15
  • 7642

解决IntelliJ IDEA中getResourceAsStream取得null问题

转载请注明出处。。。
  • zhang875911178
  • zhang875911178
  • 2017年04月21日 14:54
  • 1200

正确使用Class.getResourceAsStream("")与Class.getClassLoader().getResourceAsStream("")

方法getResourceAsStream("")与getResource("")均常被用于获取编译路径下指定的配置文件,用法相似,下面以getResource("")为例展示其正确用法: /...
  • Netbug_NB
  • Netbug_NB
  • 2015年05月28日 13:12
  • 2727

JAVA中路径问题总结Class.getResourceAsStream() & ClassLoader的getR...

Class.getResourceAsStream() & ClassLoader的getResourceAsStream(), Class.getResourceAsStream() & Clas...
  • nature_fly088
  • nature_fly088
  • 2013年01月09日 19:12
  • 11491

使用getResourceAsStream 读取文件类型 .properties

Properties configProperty = new Properties(); //从WebRoot/WEB-INF/config下的路径 configProperty.load(Pr...
  • registerIn1030
  • registerIn1030
  • 2016年02月16日 11:18
  • 1701

关于Servlet中getServletContext() 的getResourceAsStream(String path) 方法中的path路径问题

这里的getResourceAsStream(String path) 的path路径经常容易搞错,因为不是eclipse/my
  • cyp331203
  • cyp331203
  • 2014年07月10日 15:07
  • 1020

getResourceAsStream用法小结

Java中getResourceAsStream用法小结一、 Java中的getResourceAsStream主要有以下三种用法:1.Class.getResourceAsStream(String...
  • NowUSeeMe
  • NowUSeeMe
  • 2017年01月23日 13:10
  • 264
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:getResourceAsStream用法
举报原因:
原因补充:

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