我想使用java.nio.file.Path
在Java中设置当前路径。
这可能吗?
我知道可以使用此方法获取当前路径:
public Path getCurrentPath() {
Path workingDirectory = Paths.get(".").toAbsolutePath().normalize();
return workingDirectory;
}
答案 0 :(得分:0)
在java应用程序内的操作系统上没有等效的cd
命令(参见general information about current directory。
JVM的current directory
是启动它的目录。此信息存储在系统属性user.dir
中。 java.io.File
和java.nio.file.Path
将此信息用作current directory
。
您可以通过将-Duser.dir=...
作为JVM启动选项传递来覆盖它。哪个会更改File
和Path
的当前目录。
在运行时使用System.setProperty("user.dir")
更改此系统属性实际上不会更改当前目录。它会例如对File
假设的当前目录产生影响。 Path
仍将使用启动JVM的目录。
对于早期的SO帖Why does this autorun-cmd registry hack affect a java/maven process?,我设置了一个small project来证明效果。