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

转载于:https://www.cnblogs.com/sunxucool/archive/2012/12/03/2800008.html

Java中getResourceAsStream的用法相关推荐

  1. Java中getResourceAsStream的用法小结

    2019独角兽企业重金招聘Python工程师标准>>> Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三 ...

  2. java中的基本用法

    java中的基本用法 关键字:专门用途的字符串 所有java关键字都是小写英文 标识符 java常量 java变量 ■ 作用域:起作用的区域■ 使用前必须先声明,在赋值.使用变量名访问这块区域 jav ...

  3. java中substring的用法

    2019独角兽企业重金招聘Python工程师标准>>> java中substring的用法 str=str.substring(int beginIndex);截取掉str从首字母起 ...

  4. JAVA中Final的用法

    JAVA中Final的用法 1. 修饰基础数据成员的final 这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改.如java.lang.Math类中的 ...

  5. php simpledateformat,Java中SimpleDateFormat的用法介绍(代码示例)

    本篇文章给大家带来的内容是关于Java中SimpleDateFormat的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.为什么要使用SimpleDateFo ...

  6. java中demo接人_return的用法_如何理解java中return的用法?

    C语言中return用法?(请熟练者进) return是返回值,这个返回值是和函数的类型有关的,函数的类型是什么,他的返回值就是什么 比方主函数intmain() {}这里就必须有一个return,只 ...

  7. java中native的用法

    java中native的用法前言:在查看 Thread.java 文件时,发现有一个 方法比较特殊 private native void start0();概念:native关键字说明其修饰的方法是 ...

  8. day9:JAVA中while的用法

    一.while循环 while循环是先判断条件是否为真,如果条件为真,则执行循环体. 语句形式: while( 循环条件 ){ 一条语句 / 多条语句 ( 循环体 ) } 二.do-while循环 d ...

  9. Java 中 switch 的用法

    Java 中 switch 的用法 1.switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2 ...

最新文章

  1. CleanMyMac扩展管理功能
  2. 渗透脚本快速生成工具Intersect
  3. .bash_profile和.bashrc的区别
  4. jQuery鼠标事件(转)
  5. 015-图片文件上传
  6. mysql int(3)与int(11)的区别详解
  7. 一份详尽的利用 Kubeadm部署 Kubernetes 1.13.1 集群指北
  8. 股票涨停之后该不该卖?
  9. cocos2d JS 源生js实现each方法
  10. 性能测试工具_K6性能测试工具的使用入门
  11. 微信H5(WAP)支付,遇到的那些坑
  12. 混沌神经网络的实际应用,神经网络求解优化问题
  13. YARN原理及工作流程详解
  14. CUBA使用Spring查询接口
  15. qcow2 磁盘镜像文件的创建、格式化、分区、挂载
  16. 由经纬度计算地球上任意两点的距离
  17. 解决问题:import torch失败和torch.cuda.is_available()返回false
  18. css 文字之间的间隔
  19. python中心性评价_复杂网络中边的中心性(Edge Centrality)
  20. Delaunay 三角网格学习

热门文章

  1. Hadoop集群搭建(九:各服务的启动)
  2. 从前端框架到前端架构参考资料
  3. 1037 Magic Coupon
  4. Python培训班适合哪些人报名学习
  5. UI设计培训之:5个小技巧快速学会PS抠图
  6. LeetCode Python题解(一)----双指针法
  7. web类协议脚本-飞机订票系统示例
  8. 现在很火的答题赢钱游戏,让我来简单教你怎么做自动答题器
  9. VMware Tools手动下载
  10. Struts2中通配符的使用