当我从命令行启动 Java 应用程序时,我想知道在调用脚本之前控制台在文件系统中的位置。我基本上想从Java应用程序中知道我的密码,这可能吗?我在 System.getProperty("") 中看不到任何内容。user.dir 属性不起作用,它只是为我提供了 .project 文件在 Eclipse 项目中的位置。
我可以使用 os.getcwd() 在我的 python 脚本中获得正确的路径,但我还不知道如何将该路径放入我的 Java 程序中。
尝试这个:
File f = new File(".");
f.getCanonicalPath(); // returns the path you are looking for
您还可以使用:
System.getProperty("user.dir")
以下问题有一些很好的答案可能会有所帮助: 获取应用程序的路径
我通常使用这个:
System.out.println(getClass().getClassLoader().getResource(".")
.getPath());
返回与@kevingreen 建议的结果相同的结果
尝试这个:
CodeSource cs = getClass().getProtectionDomain().getCodeSource();
然后cs.getLocation();
那将是您执行时的 PWD。
ED:CodeSource 是这个库的一部分:import java.security.CodeSource;
尝试这个:
System.getProperty("user.home")