Class.getResource(String path)

path不以’/'开头时,默认是从此类所在的包下取资源;
path  以’/'开头时,则是从ClassPath根下获取;
package testpackage;
public class TestMain {public static void main(String[] args) {System.out.println(TestMain.class.getResource(""));System.out.println(TestMain.class.getResource("/"));}
}

输出结果
file:/E:/workspace/Test/bin/testpackage/
file:/E:/workspace/Test/bin/

如果我们想在TestMain.java中分别取到1~3.properties文件,该怎么写路径呢?代码如下:

package testpackage;public class TestMain {public static void main(String[] args) {// 当前类(class)所在的包目录System.out.println(TestMain.class.getResource(""));// class path根目录System.out.println(TestMain.class.getResource("/"));// TestMain.class在<bin>/testpackage包中// 2.properties  在<bin>/testpackage包中System.out.println(TestMain.class.getResource("2.properties"));// TestMain.class在<bin>/testpackage包中// 3.properties  在<bin>/testpackage.subpackage包中System.out.println(TestMain.class.getResource("subpackage/3.properties"));// TestMain.class在<bin>/testpackage包中// 1.properties  在bin目录(class根目录)System.out.println(TestMain.class.getResource("/1.properties"));}
}

Class.getClassLoader().getResource(String path)

path不能以’/'开头时;
path是从ClassPath根下获取;
package testpackage;
public class TestMain {public static void main(String[] args) {TestMain t = new TestMain();System.out.println(t.getClass());System.out.println(t.getClass().getClassLoader());System.out.println(t.getClass().getClassLoader().getResource(""));System.out.println(t.getClass().getClassLoader().getResource("/"));//null
    }
}

输出结果

class testpackage.TestMain
sun.misc.Launcher$AppClassLoader@1fb8ee3
file:/E:/workspace/Test/bin/
null

使用Class.getClassLoader().getResource(String path)可以这么写

package testpackage;public class TestMain {public static void main(String[] args) {TestMain t = new TestMain();System.out.println(t.getClass().getClassLoader().getResource(""));System.out.println(t.getClass().getClassLoader().getResource("1.properties"));System.out.println(t.getClass().getClassLoader().getResource("testpackage/2.properties"));System.out.println(t.getClass().getClassLoader().getResource("testpackage/subpackage/3.properties"));}
}

From:http://www.cnblogs.com/yejg1212/p/3270152.html

转载于:https://www.cnblogs.com/xiaoliangup/p/9143180.html

Class.getResources()和classLoader.getResources()区别相关推荐

  1. class.getResources与ClassLoader.getResources的区别

    class.getResources与ClassLoader.getResources有不同的访问途径,如果访问方式不对,只会得到null值. Maven工程目录如下 如上图,编译后,maven会将s ...

  2. Java ClassLoader getResources()方法与示例

    ClassLoader类的getResources()方法 (ClassLoader Class getResources() method) getResources() method is ava ...

  3. 【java】ClassLoader.getResources加载资源的顺序

    目录 前言 代码说明 目录结构 FromMultiJar/pom.xml 代码 编译后目录结构 启动命令 ClassLoader.getResources加载资源的顺序 先在本应用(FromMulti ...

  4. 【java】ClassLoader.getResources加载资源

    目录 前言 代码说明 目录结构 FromMultiJar/pom.xml 代码 编译后目录结构 启动命令 执行结果 前言 maven多模块项目 代码说明 目录结构 LoadResources ├─Fr ...

  5. ClassLoader.getResources 能搜索到的资源路径

    代码如下 public static void main(String[] args)throws Exception {ClassLoader cl = xxxx.class.getClassLoa ...

  6. classloader.getresources() 介绍

    转载自: https://www.cnblogs.com/bhlsheji/p/4095699.html ◆普通情况下,我们都使用相对路径来获取资源,这种灵活性比較大. 比方当前类为com/bbebf ...

  7. java getresources方法_Java ClassLoader getResources()方法与示例

    ClassLoader类getResources()方法getResources()方法在java.lang包中可用. getResources()方法用于标识具有给定资源名称的所有资源. getRe ...

  8. java getresources方法_java-如何正确使用ClassLoader.getResources()?

    这是获取某个URL对象指向的File对象的最简单方法: File file=new File(url.toURI()); 现在,对于您的具体问题: 在META-INF"目录"中查找 ...

  9. 在 Java 的反射中,Class.forName 和 ClassLoader 的区别

    前言 最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别.当时没有想出来后来自己研究了一下就写下来记录一下. 解释 在java中Cl ...

最新文章

  1. java 模仿支付成功_Java工程师薪资为何这么高?60W年薪如何轻松拿到手
  2. taro 如何使用dom_taro 事件处理
  3. 如何合并多个Django项目?
  4. OpenCL与异构并行计算
  5. 为什么你不该用Timer
  6. jsp-解决自写Servlet老是报错404
  7. 解决pod没有权限问题
  8. Linux下的指令:tail
  9. 3DMax环境贴图无法正常显示的一种解决方法
  10. python语言属于哪一种语言阅读答案_python是一种()-智慧树Python语言应用章节答案...
  11. 大数据扫黄如此精准,你中招了没
  12. CCF-A类+B类+C类(2019)
  13. 九宫格拼图,避免不可还原
  14. 【绝知此事要躬行】线性表之数组OJ
  15. 2022年内蒙古医院三基考试传染病学考前冲刺题及答案
  16. C# 判断有向图是否存在环
  17. 头哥实践教学平台 CC++程序设计(计算机程序设计)基本输入输出 第2关:整数四则运算表达式的输出格式控制
  18. Hadoop3.x完全分布式运行模式配置
  19. git color 让git有颜色
  20. X86:2:X86处理器架构

热门文章

  1. 《Dreamweaver CS6完美网页制作——基础、实例与技巧从入门到精通》——1.3 常用网页设计软件...
  2. androidHandler讲解
  3. PHP中的$_COOKIE与urlencode/decode的关系
  4. 性能翻倍 IBM借DS3500拓中低端存储市场
  5. 单链表倒数第K个节点的查找和显示
  6. 深度学习笔记三:Softmax Regression
  7. Zookeeper 入门
  8. 帆软报表加载(开始)完毕执行自定义JavaScript
  9. Mac 技术篇-应用程序被锁定无法进行卸载问题解决方法,文件、文件夹被锁定无法移入废纸篓处理方法,卡巴斯基被锁定如何进行卸载演示
  10. JavaScript 技术篇-js获取表格元素tr、th、td相对于父节点的索引。