现有如下项目结构:

注意:cn.edu.test 中的小数点表示包名的分隔,这种是eclipse中的包名折叠显示方式。可手动设置。无展开项时,默认包名折叠。
带码规范:代码中用相对地址 " / ",以保证代码的可移植性,而避免使用绝对地址 " \\ " 。
前言扩展
TestClass .class.getResource(String path): 获取资源文件路径。path是以.class文件为目标的相对路径。
Class对象的生成方式如下:
- Class.forName(“类名字符串”) (注意:类名字符串必须是全称,包名+类名)
- 类名.class
- 实例对象.getClass()
相对路径测试代码
package cn.edu.test;
public class TestClass {
public static void main(String[] args) {
// 打印class资源文件路径
System.out.println(TestClass.class.getResource(""));
System.out.println(TestClass.class.getResource("./"));
System.out.println(TestClass.class.getResource("../"));
System.out.println(TestClass.class.getResource("/"));
}
}
输出
file:/E:/java-workspace/Test/bin/cn/edu/test/
file:/E:/java-workspace/Test/bin/cn/edu/test/
file:/E:/java-workspace/Test/bin/cn/edu/
file:/E:/java-workspace/Test/bin/
说明
"" 和 "./" 表示当前目录
"../" 表示上一级目录
"/" 表示根目录。根目录为:项目src资源文件目录,也是.class字节码文件目录,或者说工程项目文件下的bin目录。
相对地址符号混用测试代码
package cn.edu.test;
public class TestClass {
public static void main(String[] args) {
System.out.println(TestClass.class.getResource("././"));
System.out.println(TestClass.class.getResource(".././"));
System.out.println(TestClass.class.getResource("./../"));
System.out.println(TestClass.class.getResource("../../"));
System.out.println(TestClass.class.getResource("/./"));
}
}
输出
file:/E:/java-workspace/Test/bin/cn/edu/test/
file:/E:/java-workspace/Test/bin/cn/edu/
file:/E:/java-workspace/Test/bin/cn/edu/
file:/E:/java-workspace/Test/bin/cn/
file:/E:/java-workspace/Test/bin/
说明
"./" "../" "/" 可混用。
"本文详细介绍了Java中TestClass.class.getResource()方法用于获取资源文件路径的使用,探讨了不同相对路径如""、"./"、"../"和"/"的含义,并通过示例代码展示了它们在实际应用中的效果。实验结果显示,这些路径符号可以混用,且能正确指向不同的目录层级。"
1525

被折叠的 条评论
为什么被折叠?



