将Runtime.exec与“Program Files”一起使用的正确语法

时间:2009-08-27 03:54:51

标签: java windows runtime

我希望使用具有以下签名的方法:

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

假设我的程序名为“myprog.exe”,它位于“C:\ Program Files \ My Software”。使用Runtime.exec的正确语法是什么?我不断收到错误消息“系统找不到指定的文件”。澄清我希望从“C:\ Program Files \ My Software”目录启动myprog.exe,而不是从运行java程序的地方启动

1 个答案:

答案 0 :(得分:2)

我建议使用exec()的其他风格代替:

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

使用此方法,您可以将完整路径传递给cmdarray[0]中的可执行文件以及后续数组元素中的命令参数(如果有)。这比处理引用或转义或者为了使它与简单exec()一起使用而可能需要做的更加强大。

要回答问题的其他部分,请务必在上述"C:\\Program Files\\My Software"来电的dir参数中传递您要启动程序的路径exec())。另请注意,我在路径名中使用了\\,因为Java使用\作为转义字符,这意味着您必须在表示路径名的文字字符串中使用两个。