当我从命令行启动我的Java应用程序时,我想知道在调用我的脚本之前控制台所在的文件系统中的位置。我基本上想从Java应用程序中知道我的pwd,这可能吗?我没有在System.getProperty(“”)中看到任何内容。 user.dir属性不起作用,它只是为我提供了我的.project文件用于Eclipse项目的位置。
我能够使用os.getcwd()在我的python脚本中找到正确的路径,但我还不知道如何将该路径导入到我的Java程序中。
答案 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")