Hello World

Java中路径相关的获取方式

【参考文章】:Java文件路径(getResource)

【参考文章】:关于java:如何获取正在运行的JAR文件的路径?

【参考文章】:关于Class.getResource和ClassLoader.getResource的路径问题

【参考文章】:java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别

【参考文章】:关于System.getProperty("user.dir")的研究

1. 代码示例

        // 当前 jar包 或者 字节码文件 所在的路径
        System.out.println( NativeCpp.class.getProtectionDomain().getCodeSource().getLocation().getPath());
        // 输出:/E:/project/service_core/s17-blackbox/target/classes/

        // classpath的目录
        System.out.println( NativeCpp.class.getClassLoader().getResource("").getPath());
        // 输出:/E:/project/service_core/s17-blackbox/target/classes/

        // classpath的目录
        System.out.println( NativeCpp.class.getResource("/").getPath());
        // 输出:/E:/project/service_core/s17-blackbox/target/classes/

        // 当前类(class)所在包(package)的目录
        System.out.println( NativeCpp.class.getResource("").getPath());
        // 输出:/E:/project/service_core/s17-blackbox/target/classes/com/streamax/s17/fms/business/jni/

        // 执行 java -jar  命令的位置
        System.out.println( System.getProperty("user.dir"));
        // 输出:E:\project\service_core

        // 执行 java -jar  命令的位置
        System.out.println( new File("").getCanonicalPath());
        // 输出:E:\project\service_core
posted @ 2019-12-11 17:13  小小忧愁米粒大  阅读(424)  评论(0编辑  收藏  举报
瞅啥瞅,好好看书