当我启动我的java应用程序时,我可以在我的linux控制台上获取路径吗?

时间:2012-04-19 19:38:55

标签: java linux path

当我从命令行启动我的Java应用程序时,我想知道在调用我的脚本之前控制台所在的文件系统中的位置。我基本上想从Java应用程序中知道我的pwd,这可能吗?我没有在System.getProperty(“”)中看到任何内容。 user.dir属性不起作用,它只是为我提供了我的.project文件用于Eclipse项目的位置。

我能够使用os.getcwd()在我的python脚本中找到正确的路径,但我还不知道如何将该路径导入到我的Java程序中。

4 个答案:

答案 0 :(得分:3)

试试这个:

  File f = new File(".");
    f.getCanonicalPath(); // returns the path you are looking for

您也可以使用:

System.getProperty("user.dir")

以下问题有一些可能有用的好答案: Get the application's path

答案 1 :(得分:1)

试试这个:

CodeSource cs = getClass().getProtectionDomain().getCodeSource();

然后cs.getLocation();

那将是你的PWD执行。

ED: CodeSource是此库的一部分:import java.security.CodeSource;

答案 2 :(得分:1)

我通常使用它:

System.out.println(getClass().getClassLoader().getResource(".")
                .getPath());

返回与@kevingreen建议相同的结果

答案 3 :(得分:-2)

试试这个:

System.getProperty("user.home")