2013-09-05 78 views
0

我必須檢查某些應用程序是否存在於不同的位置以在Windows上運行ProcessBuilder。問題是我需要使用環境變量,直到我運行cmd.exe才解決。我有這樣的非工作代碼。檢查文件是否存在路徑中的環境變量(Win平臺)

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

您有任何提示嗎?謝謝。

回答

3

你不能指望直接在WIN_APP變量值的環境變量userprofile值。

您應該明確致電System.getenv("userprofile"),並應與該變量的其他文本一起使用。

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

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

嘗試:

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