我想使用访问我当前的工作目录
String current = new java.io.File( "." ).getCanonicalPath();
System.out.println("Current dir:"+current);
String currentDir = System.getProperty("user.dir");
System.out.println("Current dir using System:" +currentDir);
输出:
Current dir: C:\WINDOWS\system32
Current dir using System: C:\WINDOWS\system32
我的输出不正确,因为 C 盘不是我当前的目录。在这方面需要帮助。
public class JavaApplication1 {
public static void main(String[] args) {
System.out.println("Working Directory = " +
System.getProperty("user.dir"));
}
}
这将打印出初始化应用程序的完整绝对路径。
请参阅: http : //docs.oracle.com/javase/tutorial/essential/io/pathOps.html
使用java.nio.file.Path
和java.nio.file.Paths
,您可以执行以下操作以显示 Java 认为您当前的路径。这适用于 7 及以上,并使用 NIO。
Path currentRelativePath = Paths.get("");
String s = currentRelativePath.toAbsolutePath().toString();
System.out.println("Current relative path is: " + s);
这个输出Current relative path is: /Users/george/NetBeansProjects/Tutorials
,在我的例子中是我运行类的地方。以相对方式构造路径,通过不使用前导分隔符来指示您正在构建绝对路径,将使用此相对路径作为起点。
以下适用于 Java 7 及更高版本(有关文档,请参见此处 )。
import java.nio.file.Paths;
Paths.get(".").toAbsolutePath().normalize().toString();