Javaで、実行時のカレントパスを取得する
// 実行環境 C:\Users\hoge\java\path_test\class>java -version openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9) OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode, sharing) // ディレクトリ構成 C:\Users\hoge\java\path_test>tree /f C:. ├─class └─jp └─euks └─pathtest PathTest.java // ソース C:\Users\hoge\java\path_test>type jp\euks\pathtest\PathTest.java package jp.euks.pathtest; public class PathTest { public static void main(String[] args) { // java.nio.file.Paths.get(".").toAbsolutePath().toString()でも同じ結果が得られる var currentDirectory = System.getProperty("user.dir"); System.out.println("Current working directory : " + currentDirectory); } } // コンパイル C:\Users\hoge\java\path_test>javac jp\euks\pathtest\PathTest.java -d class // ディレクトリ構成(再) C:\Users\hoge\java\path_test>tree /f C:. # パス1 ├─class # パス2 │ └─jp │ └─euks │ └─pathtest │ PathTest.class │ └─jp └─euks └─pathtest PathTest.java // パス1で実行 C:\Users\hoge\java\path_test>java -cp .\class jp.euks.pathtest.PathTest Current working directory : C:\Users\hoge\java\path_test C:\Users\hoge\java\path_test>cd class // パス2で実行 C:\Users\hoge\java\path_test\class>java -cp . jp.euks.pathtest.PathTest Current working directory : C:\Users\hoge\java\path_test\class