1

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

我可以使用 os.getcwd() 在我的 python 脚本中获得正确的路径,但我还不知道如何将该路径放入我的 Java 程序中。

4

4 回答 4

3

尝试这个:

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

您还可以使用:

System.getProperty("user.dir")

以下问题有一些很好的答案可能会有所帮助: 获取应用程序的路径

于 2012-04-19T19:43:44.113 回答
1

我通常使用这个:

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

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

于 2012-04-19T20:06:10.947 回答
1

尝试这个:

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

然后cs.getLocation();

那将是您执行时的 PWD。

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

于 2012-04-19T19:42:17.997 回答
-2

尝试这个:

System.getProperty("user.home")
于 2012-04-19T19:44:02.173 回答