Java"user.dir"属性 - 究竟是什么意思?

joh*_*ode 92 java

我想使用user.dirdir作为我的单元测试的基础目录(创建了大量文件).此属性是否指向当前工作目录(例如,通过'cd'命令设置)是否正确?

whi*_*der 126

java是运行JVM的目录.不必在用户的主目录中.它可以是用户有权运行java的任何地方.

所以,如果你cd进入/somedir,那么运行你的程序,user.dir将是/somedir.

另一个属性user.home是指用户目录.如在/Users/myuser/home/myuserC:\Users\myuser.

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

  • 在发布之前已经阅读过了.但"用户工作目录"并不是最好的解释,希望您同意. (3认同)

Mar*_*eel 8

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


Evg*_*eev 8

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

  • 当你在 MAC 上改变它时,它会破坏这个测试 /sf/ask/3159146301/ -about-other-os-versions :( :( (2认同)

小智 6

System.getProperty("user.dir")获取当前项目的工作空间的目录或路径