“user.dir”和“。”之间有什么区别?

时间:2013-10-16 13:51:10

标签: java working-directory

我看到问题"what user.dir means?"how is it identifiedwhy it does not work properlyhow to change it。但我没有看到基本问题:在所有操作系统支持“。”之后,为什么我们首先需要“user.dir”。目前的目录

我看到user.dir =当前目录的绝对路径whareas .是相对的。它只是File(".").getAbsoluteFile().getParentFile().getName()的简写吗?

2 个答案:

答案 0 :(得分:2)

因为当前目录可以根据浏览文件系统的程序进行更改。程序启动的目录无法更改。

答案 1 :(得分:1)

我认为"user.dir"属性的目的与Linux中的pwd command或Windows中的GetCurrentDirectory相同。我认为这种方式更清楚,因为当我们想要获取当前目录的(绝对)路径时,我们清楚地使用pwd。相反,.是当前dir的简写,当你不想知道它时,而是告诉系统我们想要使用当前路径。在这种情况下使用速记是合理的。第一个是current path relative to the root,第二个是current path relative to the current path

当您在流程之间进行通信时,差异可能很重要。如果将路径传递给系统中的另一个进程,则它可能具有不同的当前目录,因此,您最好选择绝对路径。另一方面,如果您将路径传递给另一个系统,则可能首选相对路径。