java 输出绝对路径,最前有/

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
    System.out.println();
    System.out.println(YamlUtil.class.getResource("").getPath());
    System.out.println(YamlUtil.class.getResource("/").getPath());
    System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());
    System.out.println(YamlUtil.class.getClassLoader().getResource("").getPath());
我想要达到的结果

D:/script/java/AutoDDT/target/classes/com/testing/config/
D:/script/java/AutoDDT/target/classes/
D:/script/java/AutoDDT/target/classes/
D:/script/java/AutoDDT/target/classes/

这个好像是因为Java的这些方法默认输出时会带这个斜杠,折中在每个方法后加个.substring(1)去除开头的那个斜杠你看可以不。



public class YamlUtil {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    
        System.out.println();
        System.out.println(YamlUtil.class.getResource("").getPath().substring(1));
        System.out.println(YamlUtil.class.getResource("/").getPath().substring(1));
        System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(1));
        System.out.println(YamlUtil.class.getClassLoader().getResource("").getPath().substring(1));
    }

}


此外,我还从CSDN技能树中找了一些相关资料给你, 你可以学习下: