Javaプロジェクト内のパスの取得方法

1926 ワード

テキストリンク:https://segmentfault.com/a/1190000011680241
Java取得プロジェクトのパスメソッドは、プロジェクト構造を次のように仮定します.
D:\workspace\maven-web-project\target\maven-web-project\
|-WEB-INF\
  |-classes\
    |-pack\
      |-Test.class
    |-config.properties
class Test {
    static {
        /* Test      */
        //    file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/
        System.out.println(Test.class.getClassLoader().getResource(""));
        //    file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/
        System.out.println(Test.class.getClassLoader().getResource("/"));
        //    file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/pack/
        System.out.println(Test.class.getResource(""));
        //    file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/
        System.out.println(Test.class.getResource("/"));
        //    D:\App\apache-tomcat-7.0.69\bin
        System.out.println(new File("").getAbsolutePath());
        //    D:\
        System.out.println(new File("/").getAbsolutePath());
        //    null
        System.out.println(Thread.currentThread().getClass().getResource(""));
        //    file:/D:/App/apache-tomcat-7.0.69/lib/
        System.out.println(Thread.currentThread().getClass().getResource("/"));
        //    file:/D:/App/apache-tomcat-7.0.69/lib/
        System.out.println(Thread.currentThread().getClass().getClassLoader().getResource(""));
        //   null
        System.out.println(Thread.currentThread().getClass().getClassLoader().getResource("/"));
    }
}

まとめ:classpathを取得する方法
Test.class.getClassLoader().getResource("")
Test.class.getResource("/")

学習交流群569772982に参加することを歓迎して、みんなはいっしょに交流を学びます.