检查路径中是否存在环境变量的文件(Win平台)

时间:2013-09-05 11:29:29

标签: java file environment-variables

我必须检查某些应用程序是否存在于不同的地方,以便在Windows上启动ProcessBuilder。问题是我需要使用环境变量,直到我运行cmd.exe才能解决。我有类似非工作代码的东西。

private static final String WIN_APP = "%USERPROFILE%/AppData/Local/App/app.exe";
...
File f1 = new File(WIN_APP);
if(f1.exists()) { ... };
...

你有任何提示吗?感谢。

2 个答案:

答案 0 :(得分:3)

您不能直接在userprofile变量值中预期环境变量WIN_APP的值。

您应该对System.getenv("userprofile")进行显式调用,并与所述变量的其他文本一起使用。

String userProfile = System.getenv("userProfile");

// hoping user profile is not null
String Win_App = userProfile + "/AppData/Local/App/app.exe";

答案 1 :(得分:1)

尝试:

private static final String WIN_APP =
       System.getenv("userprofile") + "/AppData/Local/App/app.exe";
...