Správná syntaxe pro používání Runtime.exec s „Program Files“

hlasů
1

Přeji použít metodu s následující podpis:

exec(String command, String[] envp, File dir) 

Dejme tomu, že můj program se nazývá myprog.exe a je umístěn v C: \ Program Files \ My Software. Jaká je správná syntaxe pro používání Runtime.exec? Dostávám chybové hlášení „Systém nemůže nalézt uvedený soubor“. K objasnění bych chtěl začít myprog.exe z adresáře „C: \ Program Files \ My Software“ a ne odkud java program běží

Položena 27/08/2009 v 04:54
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

Doporučil bych používat jinou příchuť exec()namísto:

exec(String[] cmdarray, String[] envp, File dir) 

Při použití této metody, můžete předat úplnou cestu k spustitelný v cmdarray[0]a příkaz argumenty (pokud existuje) v následujících prvků pole. To je mnohem robustnější než zabývající se cituje nebo útěku, nebo co budete muset udělat, aby to fungovalo s zjednodušující exec().

Chcete-li odpovědět na druhou část vaší otázky, je nutné projít cestu, kam chcete spustit svůj program ( "C:\\Program Files\\My Software") v dirparametru výše uvedené exec()výzvy. Také si všimněte, že jsem použil \\v cestu ke složce, protože Java používá \jako znak escape, což znamená, že je nutné použít dva v doslovném řetězec představující cestu.

Odpovězeno 27/08/2009 v 04:58
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more