我希望使用具有以下签名的方法:
exec(String command, String[] envp, File dir)
假设我的程序名为“myprog.exe”,它位于“C:\ Program Files \ My Software”。使用Runtime.exec的正确语法是什么?我不断收到错误消息“系统找不到指定的文件”。澄清我希望从“C:\ Program Files \ My Software”目录启动myprog.exe,而不是从运行java程序的地方启动
答案 0 :(得分:2)
我建议使用exec()
的其他风格代替:
exec(String[] cmdarray, String[] envp, File dir)
使用此方法,您可以将完整路径传递给cmdarray[0]
中的可执行文件以及后续数组元素中的命令参数(如果有)。这比处理引用或转义或者为了使它与简单exec()
一起使用而可能需要做的更加强大。
要回答问题的其他部分,请务必在上述"C:\\Program Files\\My Software"
来电的dir
参数中传递您要启动程序的路径exec()
)。另请注意,我在路径名中使用了\\
,因为Java使用\
作为转义字符,这意味着您必须在表示路径名的文字字符串中使用两个。