java getresources_Java的getResources方法「终于解决」

java getresources_Java的getResources方法「终于解决」首先说一个概念,classpath,指的是编译后的class文件、xml、properties等配置文件所在的目录。比如,如果是maven项目,classpath为“项名/target/classes”,如果是普通项目,可能是”项目名/bin”,或者”项目名/build/classes”等等。getResource是java.lang.Class的方法,也就是由字节码对象调用。getResour…

大家好,欢迎来到IT知识分享网。

首先说一个概念,classpath,指的是编译后的class文件、xml、properties等配置文件所在的目录。比如,如果是maven项目,classpath为“项名/target/classes”,如果是普通项目,可能是”项目名/bin”,或者”项目名/build/classes”等等。

getResource是java.lang.Class的方法,也就是由字节码对象调用。 getResource接受一个字符串参数,如果以”/”开头,就在classpath根目录下找(不会递归查找子目录),如果不以”/”开头,就在调用getResource的字节码对象所在目录下找(同样不会递归查找子目录)。

举个例子:

4c21fa777f4e9d7ff301c922daca8d5c.png

@Test

public void test() {

System.out.println(Test1.class.getResource(“”));

System.out.println(Test1.class.getResource(“/”));

System.out.println(Test1.class.getResource(“Test1.class”));

System.out.println(Test1.class.getResource(“/Test1.class”));

}

第一句,Test1在com.trs.javase下,所以会输出”xxx.com.trs.javase”,如果是Test2.class调用,就会输出”xxx.com.trs.javase.subpackage”.

第二句,会输出classpath的根目录。

第三句,会输出Test1.class所在目录。

第四句,Test1.class不在classpath根目录下,所以会输出null。

输出结果:

file:/D:/eclipse-workspace/javase/bin/com/trs/javase/

file:/D:/eclipse-workspace/javase/bin/

file:/D:/eclipse-workspace/javase/bin/com/trs/javase/Test1.class

null

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26610.html

(1)
上一篇 2023-04-26 16:00
下一篇 2023-04-27 09:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信