Java“ user.dir”属性-到底是什么意思?


100

我想使用user.dirdir作为我的单元测试的基本目录(创建很多文件)。此属性指向当前工作目录是否正确(例如,由“ cd”命令设置)?


2
stackoverflow.com/a/840229/3159183中所述,请记住,该-Duser.dir标志会影响File对象(如果未提供完整路径)会影响FileOutPutStream对象。如果要确保两者的默认目录都匹配,则应cd在启动Java之前。
SeldomNeedy

Answers:


142

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

因此,如果您cd进入/somedir,然后运行程序,user.dir将是/somedir

另一个属性user.home引用用户目录。如/Users/myuser/home/myuserC:\Users\myuser

有关系统属性及其描述的列表,请参见此处


已更正。user.dir呢?
johnny-b-goode

3
在发布之前已经阅读过。但是“用户工作目录”不是最好的解释,希望您同意。
johnny-b-goode

这是否意味着如果user.dir要指向所有Java版本的tomcat配置,/usr/share/tomcat并在config中添加如下所示:file:./config那么它将/usr/share/tomcat/config始终指向?
Marcin Kapusta,



3

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.