在Java中更改当前路径

时间:2016-01-02 07:39:19

标签: java path

我想使用java.nio.file.Path在Java中设置当前路径。

这可能吗?

我知道可以使用此方法获取当前路径:

public Path getCurrentPath() {
    Path workingDirectory = Paths.get(".").toAbsolutePath().normalize();
    return workingDirectory;
}

1 个答案:

答案 0 :(得分:0)

在java应用程序内的操作系统上没有等效的cd命令(参见general information about current directory

JVM的current directory是启动它的目录。此信息存储在系统属性user.dir中。 java.io.Filejava.nio.file.Path将此信息用作current directory

您可以通过将-Duser.dir=...作为JVM启动选项传递来覆盖它。哪个会更改FilePath的当前目录。

在运行时使用System.setProperty("user.dir")更改此系统属性实际上不会更改当前目录。它会例如对File假设的当前目录产生影响。 Path仍将使用启动JVM的目录。

对于早期的SO帖Why does this autorun-cmd registry hack affect a java/maven process?,我设置了一个small project来证明效果。