CodeGym /Java 博客 /随机的 /在 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() ”方法获取默认的文件系统。然后“ getPath() ”方法获取它的路径。之后转换为“绝对路径”,从根目录获取工作目录的完整路径。由于它返回一个路径类型对象,因此使用“ toString() ”进行转换以在屏幕上打印。

结论

到目前为止,您必须熟悉在 Java 中获取当前工作目录的两种不同方式。只有在您的机器上运行上述两个程序时,遇到这些方法才有意义。亲自验证输出并让我们了解您可能遇到的任何问题。到那时,继续学习并不断成长!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION