Class类的getResource(String name)方法和ClassLoader的getResource(String name)方法

1、Class.getResource(String name)

package path;

import org.junit.Test;

import jodd.emial.JoddDemo;

public class PathTest {

    @Test
    public void pathTest() {
        System.out.println(JoddDemo.class.getResource(""));//输出file:/E:/workspace/MyDemo/target/classes/jodd/emial/
        System.out.println(JoddDemo.class.getResource("/"));//输出file:/E:/workspace/MyDemo/target/test-classes/
    }
}

由上面程序输出结果可以知道,不加“/”的参数获取的是JoddDemo类所在的包的路径,加“/”的参数获取到的是classpath根目录的路径

package path;

import org.junit.Test;

import jodd.emial.JoddDemo;

public class PathTest {

    @Test
    public void pathTest(){
        System.out.println(JoddDemo.class.getResource(""));
        System.out.println(JoddDemo.class.getResource("/"));

        System.out.println(JoddDemo.class.getClassLoader().getResource(""));
        System.out.println(JoddDemo.class.getClassLoader().getResource("/"));

        System.out.println(JoddDemo.class.getResource("/image/dongman1.jpg"));
        System.out.println(JoddDemo.class.getClassLoader().getResource("/image/dongman1.jpg"));
    }
}

输出结果依次为:

file:/E:/workspace/MyDemo/target/classes/jodd/emial/
file:/E:/workspace/MyDemo/target/test-classes/
file:/E:/workspace/MyDemo/target/test-classes/
null
file:/E:/workspace/MyDemo/target/classes/image/dongman1.jpg
null
时间: 2024-10-08 02:54:23

Class类的getResource(String name)方法和ClassLoader的getResource(String name)方法的相关文章

继承PagerAdapter类需要重写五个方法和ViewPager的点击事件方法小结

继承PagerAdapter类需要重写五个方法: public int getCount() { return pages.size(); } 返回page的长度 public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } 判断instantiateItem(ViewGroup container, int position)返回的要加载的pager对象是不是view视图,是则返回true并显示,不

在php中分别使用curl的post提交数据的方法和get获取网页数据的方法

在php中分别使用curl的post提交数据的方法和get获取网页数据的方法整理分享一下额,具体代码如下: (1)使用php curl获取网页数据的方法: $ch=curl_init(); //设置选项,包括URL curl_setopt($ch,CURLOPT_URL,"http://www.nettuts.com"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); //执行

object的wait()、notify()、notifyAll()、方法和Condition的await()、signal()方法

wait().notify()和notifyAll()是 Object类 中的方法 从这三个方法的文字描述可以知道以下几点信息: 1)wait().notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写. 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁) 3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的monitor的线程,如果有多个线程都在等待这个对象的monitor,则只能唤醒其中一个

关于Object类的equals方法和hashCode方法

关于Object类的equals的特点,对于非空引用: 1.自反性:x.equals(x) return true : 2.对称性:x.equals(y)为true,那么y.equals(x)也为true: 3.传递性:x.equals(y)为true,y.equals(z)为true,那么x.equals(z)也为true: 4.一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次,第三次,...,第n次调用也为true,前提条件是在比较之间没有修改x,也没

据我知道有2个方法来定义标签文本模型领域;传统的方法和“编

背景据我知道有2个方法来定义标签文本模型领域;传统的方法和"编译时显示名称属性"的方法.在传统的方法中,文本被分配作为标签为每个模型字段中的HTML页面.虽然这是使用最简单的方法,它是最难的,当一个单一的模式字段中显示多个页面维护;你应该知道哪些页面领域已经出现进入并改变其标签中所有的人. 在"编译时显示名称属性"的方法,我们分配一个DisplayName特性对我们的模型的每个字段,然后使用Html.LabelFor在我们的HTML页面来显示它.当我们使用代码优先的

Spark Rdd coalesce()方法和repartition()方法

在Spark的Rdd中,Rdd是分区的. 有时候需要重新设置Rdd的分区数量,比如Rdd的分区中,Rdd分区比较多,但是每个Rdd的数据量比较小,需要设置一个比较合理的分区.或者需要把Rdd的分区数量调大.还有就是通过设置一个Rdd的分区来达到设置生成的文件的数量. 有两种方法是可以重设Rdd的分区:分别是 coalesce()方法和repartition(). 这两个方法有什么区别,看看源码就知道了: def coalesce(numPartitions: Int, shuffle: Bool

【js】数组的splice方法和slice方法的区别

1.splice方法和slice都是数组的方法 2.splice方法有3种作用 例如,arr=[1,2,3,4,5,6]; splice方法 删除  arr.splice(1, 1); 返回值为删除的元素,类型为object  替换  arr.splice(1, 1, 'a'); 返回值为被替换的元素,类型为object  插入 arr.splice(1, 0, 'a', 'b'); 返回值为一个空数组,类型为object 注意:得到的新数组为[1,'a','b',2,3,4,5,6] 3.sl

线程Thread类的start()方法和run()方法

一.初识 java的线程是通过java.lang.Thread类来实现的.VM启动时会有一个由主方法所定义的线程.可以通过创建Thread的实例来创建新的线程.每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体.通过调用Thread类的start()方法来启动一个线程. 在Java当中,线程通常都有五种状态,创建.就绪.运行.阻塞和死亡. 第一是创建状态.在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态. 第二是就绪状态.

StringBuffer类的delete()方法和deleteCharAt()方法的区别

引言 StringBuffer类的delete()方法和deleteCharAt()方法都是用来删除StringBuffer字符串中的字符 区别 1.对于delete(int start,int end)这个方法一共有两个参数是int类型的,代表从索引下标start删除字符到索引下标end字符,但是不包括end 2.对于StringBuffer中的deleteCharAt(int index)方法:只有一个参数,使用时删除索引为index的字符 代码及结果如下图所示 package String