class.getResource与class.getClassLoader().getResource使用
来源:互联网 发布:淘宝质量好的男装店 编辑:程序博客网 时间:2024/06/02 20:23
项目结构(gradle构建):
|--src |--main |--java | |--com | | |--kingboy | | |--resource | | |--ResourceContentUtil.java | | |--class.txt | |--root.txt |--resource |--resources.txt
1.类.class.getClassLoader().getResource(path)是相对于项目根目录而言的,且只能传入相对路径。
例:获取resouces.txt,则path=**resources.txt**例:获取root.txt,则path=**root.txt**例:获取class.txt,则path=**com/kingboy/resource/class.txt**
2.类.class.getResource(path)可以传入绝对路径与相对路径。
相对路径:相对于当前类的路径例:获取resouces.txt,则path=**../../../resources.txt**例:获取root.txt,则path=**../../../root.txt**例:获取class.txt,则path=**com/kingboy/resource/class.txt**绝对路径:相对于项目根路径例:获取resouces.txt,则path=**/resources.txt**例:获取root.txt,则path=**/root.txt**例:获取class.txt,则path=**/com/kingboy/resource/class.txt**
3.扩展:其实类.class.getResource()是通过调用类.class.getClassLoader().getResource来实现的。具体实现方式如下(伪代码):
//1.当class.getResource传入绝对路径时,会将路径前的"/"去掉,然后传给classLoader.getResource() //2.当传入相对路径时,会将路径补全,然后传给classLoader.getResource() class.getResource() 例: class.getResource(String path) { if (!path.startsWith("/")) { //相对路径 path = basePath + path; } else { //绝对路径 path = path.subString(1); } classLoader().getResource(path); }
具体源码请参考:github项目中的io.resource模块
阅读全文
0 0
- class.getResource与class.getClassLoader().getResource使用
- Class.getResource与Class.getClassLoader.getResource
- Class.getResource与Class.getClassLoader.getResource
- class.getResource()与class.getClassLoader().getResource()
- class.getResource与class.getClassLoader.getResource
- Class.getResource与Class.getClassLoader.getResource
- Class.getResource与Class.getClassLoader.getResource
- Class.getResource与Class.getClassLoader.getResource
- Class.getResource与Class.getClassLoader.getResource
- Class.getClassLoader().getResource() Class.getResource()
- 关于Class.getResource与Class.getClassLoader.getResource的区别
- XXX.class.getResource()与XXX.class.getClassLoader().getResource(url)研究
- ]XXX.class.getResource()与XXX.class.getClassLoader().getResource(url)研究
- Class.getResource与Class.getClassLoader.getResource归纳整理
- 使用class.getClassLoader().getResource("")的注意事项
- 使用class.getClassLoader().getResource("")的注意事项
- class.getClassLoader().getResource()和class.getResource()的不同
- class.getClassLoader().getResource()和class.getResource()的不同
- Android目录结构
- 栈
- |poj 2186|强连通分量|Popular Cows
- 在 Laravel 5 中使用 Repository 模式实现业务逻辑和数据访问的分离
- Solr查询参数echoParams
- class.getResource与class.getClassLoader().getResource使用
- IntellijIdea创建Maven-Struts2的web项目
- JSTL标准标签库之核心标签(三)
- Glide 实现圆形图片 并动态旋转
- BZOJ 2435: [Noi2011]道路修建 树的遍历-_-
- React-Native 0.43.4 undefined is not an object (evaluating '_props[registrationName]') 正确的解决姿势
- ubuntu 设置ssh连接
- 指针指向字符串,函数指针,多功能函数调用
- lesson6.7System和Runtime