【JAVA】Class.getResource()与ClassLoader.getResource()的区别
转载自:https://blog.csdn.net/qq_33591903/article/details/91444342
Class.getResource()与ClassLoader.getResource()的区别
Class.getResource(String name):在当前调用类的同一路径下查找该资源
ClassLoader.getResource(String name):在根目录下查找该资源文件,即"/"或classpath目录
代码示例:
首先这是我目录结构:
尝试在Main类中获取a.txt与b.txt资源
package com.sun.test;
import java.net.URL;
public class Main {
public void testResouce() {
//使用./a.txt与a.txt均可
URL url1 = getClass().getResource("a.txt");
System.out.println("当前类路径下使用相对路径获取a.txt :" + url1);
URL url2 = getClass().getResource("/com/sun/test/a.txt");
System.out.println("当前类路径下使用绝对路径获取a.txt :" + url2);
URL url3 = getClass().getResource("../../../b.txt");
System.out.println("当前类路径下使用相对路径获取b.txt :" + url3);
URL url4 = getClass().getResource("/b.txt");
System.out.println("当前类路径下使用绝对路径获取b.txt :" + url4);
URL url5 = getClass().getClassLoader().getResource("com/sun/test/a.txt");
System.out.println("根路径下使用相对路径获取a.txt :" + url5);
//getClassLoader()已经代表根路径"/",因此无法查找到//com/sun/test/a.txt
URL url6 = getClass().getClassLoader().getResource("/com/sun/test/a.txt");
System.out.println("根路径下使用绝对路径获取a.txt :" + url6);
URL url7 = getClass().getClassLoader().getResource("b.txt");
System.out.println("根路径下使用相对路径获取b.txt :" + url7);
//getClassLoader()已经代表根路径"/",因此无法查找到//b.txt
URL url8 = getClass().getClassLoader().getResource("/b.txt");
System.out.println("根路径下使用绝对路径获取b.txt :" + url8);
}
public static void main(String[] args) {
new Main().testResouce();
}
}
输出为:
【JAVA】Class.getResource()与ClassLoader.getResource()的区别的更多相关文章
- Class.getResource和ClassLoader.getResource的区别分析
原文:http://swiftlet.net/archives/868 在Java中获取资源的时候,经常用到Class.getResource和ClassLoader.getResource,本文给大 ...
- 关于获取资源文件,Class.getResource和ClassLoader.getResource的区别
原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-02-22/29.html 作者:夜月归途 出处:http://www.guitu ...
- 关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题. Class.getResource(Stri ...
- 【转】关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题. Class.getResource(Stri ...
- (转)关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题. 1 Class.getResource(St ...
- Class.getResource和ClassLoader.getResource的路径写法
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题. Class.getResource(Stri ...
- java Class.getResource和ClassLoader.getResource
http://www.cnblogs.com/wang-meng/p/5574071.html http://blog.csdn.net/earbao/article/details/50009241 ...
- 使用Class.getResource和ClassLoader.getResource方法获取文件路径
自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: ...
- 【转载】使用Class.getResource和ClassLoader.getResource方法获取文件路径
自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: ...
随机推荐
- 云-腾讯云-云直播:云直播(LVB)
ylbtech-云-腾讯云-云直播:云直播(LVB) 云直播(Live Video Broadcasting,LVB)依托腾讯多年的音视频技术平台,以及全球海量加速节点和领先的音视频 AI 技术,为开 ...
- System.Web.Mvc.RoutePrefixAttribute.cs
ylbtech-System.Web.Mvc.RoutePrefixAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutra ...
- 19.SimLogin_case06
# 使用自造的cookies登录GitHub import requests from lxml import etree str = '_octo=GH1.1.518803230.153726461 ...
- wangEditor富文本框——例
官方文档:http://www.wangeditor.com/ 效果 html <!DOCTYPE html> <html> <head> <meta cha ...
- JS数组 编程练习 使用Javascript语言,把以下数组 在页面显示如下图所示的图案
编程练习 使用Javascript语言,把以下数组 var arr = ['*','##',"***","&&","****&quo ...
- QSerialPort类
一.简介 QSerialPort类是Qt5封装的串口类,可以与串口进行通信.QSerialPortInfo是一个辅助类,提供串口的一些信息,如可用的串口名称,描述,制造商,序列号,串口16位产 ...
- Python全栈开发:XML与parse对比
#!/usr/bin/env python # -*- coding;utf-8 -*- """ ET.XML和ET.parse的对比 1.返回对象差异: ET.XML: ...
- Android开发 ViewPager删除Item后,不会更新数据和View
问题描述: 在使用ViewPager的适配器删除适配器里一个Item后依然会,而删除的这个item依然会保留缓存,适配器不会重新加载更新数据.如下代码: public class TReleaseCi ...
- [转]C#的扩展方法解说
C#的扩展方法解说 扩展方法的目的就是为一个现有类型添加一个方法,现有类型既可以是int,string等数据类型,也可以是自定义的数据类型. 为数据类型的添加一个方法的理解:一般来说,int数据类型有 ...
- 杂项-公司:Axway
ylbtech-杂项-公司:Axway Axway 公司是法国Sopra 集团从事应用系统集成(EAI/B2Bi)软件及相关咨询服务业务的全资子公司.Axway公司成立于1980年,总部位于美国凤凰城 ...