CodeGym /Java Blog /ランダム /Java で現在の作業ディレクトリを取得する
John Squirrels
レベル 41
San Francisco

Java で現在の作業ディレクトリを取得する

ランダム グループに公開済み
Java で現在の作業ディレクトリを取得するということは、プログラムが起動されたディレクトリ (フォルダー) のパスを取得することを意味します。通常、これはルート フォルダーからプログラム ファイルが配置されているフォルダーまでのパスを取得することを意味します。これは日常的によくある問題であり、Java でこれを解決する方法は複数あります。ただし、システムの組み込みメソッドを利用した最も基本的なものから始めます。

System.getProperty(); の使用 方法


public class DriverClass {
	
	public static void main(String[] args) {

		String userDirectoryPath = System.getProperty("user.dir");
		
		System.out.println("Current Directory = \"" + userDirectoryPath + "\"" );
	}
}

出力

現在のディレクトリ = "C:\Users\DELL\eclipse-workspace\JavaProjects"

説明

上記のコード スニペットは、 「 System 」によって提供される「 getProperty()」メソッドを標準パラメータ「user.dir」とともに使用しています。Java プロジェクトを含むディレクトリのパスを取得します。自分で実行すると、出力にそれが表示されることがわかります。

java.nio.file.FileSystems の使用


import java.nio.file.FileSystems;
import java.nio.file.Path;

public class DriverClass1 {

   // Print Current Working Directory using File Systems
   static void printCurrentWorkingDirectoryUsingFileSystems() {

	Path currentDirectoryPath = FileSystems.getDefault().getPath("");
	String currentDirectoryName = currentDirectoryPath.toAbsolutePath().toString();
	System.out.println("Current Directory = \"" + currentDirectoryName + "\"");
	
    }

    public static void main(String[] args) {
	printCurrentWorkingDirectoryUsingFileSystems();
    }
}

出力

現在のディレクトリ = "C:\Users\DELL\eclipse-workspace\JavaProjects"

説明

Java 7 以降では、java.nio.file.FileSystemsを使用して現在のディレクトリを取得できます。上記のプログラムでは、「getDefault()」メソッドがデフォルトの FileSystem を取得します。次に、「getPath()」メソッドがそのパスを取得します。その後、ルートから作業ディレクトリの完全なパスを取得するために「絶対パス」に変換されます。パス型のオブジェクトを返すので、画面に印刷するには「 toString() 」を使った変換が行われます。

結論

ここまでで、Java で現在の作業ディレクトリを取得する 2 つの異なる方法を理解したはずです。これらの方法に遭遇するのは、上記のプログラムの両方をマシン上で実行する場合にのみ意味があります。出力をご自身で検証し、ご質問があれば随時お知らせください。それまで、学び続けて成長し続けてください!
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION