Java - 使用System.getProperty("user.dir")获取主目录

joe*_*joe 21 java

我想知道是否使用:

System.getProperty("user.dir");
Run Code Online (Sandbox Code Playgroud)

获取文件夹的绝对路径是最好的方法吗?我希望将我的应用程序传递到其他计算机上,我需要一个完整的证明方式来获取'home'目录,以便我可以在我需要使用其他文件夹时添加到路径上:

String path = System.getProperty("user.dir");
String otherFolder = path + "\\other";
Run Code Online (Sandbox Code Playgroud)

Jig*_*shi 40

获取当前用户的主目录的方法是

String currentUsersHomeDir = System.getProperty("user.home");
Run Code Online (Sandbox Code Playgroud)

并附加路径分隔符

String otherFolder = currentUsersHomeDir + File.separator + "other";
Run Code Online (Sandbox Code Playgroud)

File.separator

系统相关的默认名称分隔符,为方便起见,表示为字符串.该字符串包含单个字符,即separatorChar.

  • 它是“万无一失”,而不是“完全证明”;不,我没有投反对票。 (2认同)

小智 6

获取当前工作目录的程序=user.dir

public class CurrentDirectoryExample {

    public static void main(String args[]) {

        String current = System.getProperty("user.dir");
        System.out.println("Current working directory in Java : " + current);
    }
}
Run Code Online (Sandbox Code Playgroud)


Eva*_*ian 5

“ user.dir”是当前的工作目录,而不是主目录。

http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

另外,通过使用\\File.separator代替File.separator,您将失去/用于文件分隔符的* nix系统的可移植性。