Java“user.dir”属性 – 究竟是什么意思?

我想使用user.dir dir作为我的unit testing(创build大量文件)的基本目录。 这个属性指向当前工作目录是否正确(例如,通过“cd”命令设置)?

这是从哪里运行java的目录,在哪里启动了JVM。 不必位于用户的主目录中。 它可以在用户有权运行Java的任何地方。

所以,如果你cd/somedir ,然后运行你的程序, user.dir将是/somedir

不同的属性user.home引用了用户目录。 如/Users/myuser/home/myuserC:\Users\myuser

请参阅此处以获取系统属性及其说明的列表。

user.dir是根据Java教程“系统属性 ”的“用户工作目录”

通常这是您的应用程序(Java)启动(工作目录)的目录。 “通常”,因为它可以改变,例如,当你运行Runtime.exec(String[] cmdarray, String[] envp, File dir)

System.getProperty("user.dir")获取当前项目的工作区的目录或path