CodeGym /Java Blog /Toto sisi /在 Java 中獲取當前工作目錄
John Squirrels
等級 41
San Francisco

在 Java 中獲取當前工作目錄

在 Toto sisi 群組發布
在 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() ”方法獲取默認的文件系統。然後“ getPath() ”方法獲取它的路徑。之後轉換為“絕對路徑”,從根目錄獲取工作目錄的完整路徑。由於它返回一個路徑類型對象,因此使用“ toString() ”進行轉換以在屏幕上打印。

結論

到目前為止,您必須熟悉在 Java 中獲取當前工作目錄的兩種不同方式。只有在您的機器上運行上述兩個程序時,遇到這些方法才有意義。親自驗證輸出並讓我們了解您可能遇到的任何問題。到那時,繼續學習並不斷成長!
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION