在下面的例子中,用于调用" php hello.php"的两种方法有什么区别?在Java? p1 vs p2?
String[] commands;
String command = "php hello.php";
commands[0] = "php";
commands[1] = "hello.php";
Process p1 = Runtime.getRuntime().exec(command);
Process p2 = Runtime.getRuntime().exec(commands);
谢谢!
答案 0 :(得分:1)
在您的特定情况下,没有。
multi-args版本不需要将命令行拆分为参数,因此它提供了带空格/制表符等的命令行参数。
From the Javadoc for the first (convenience) method:
更确切地说,命令字符串使用a分解为标记 StringTokenizer由调用new StringTokenizer(command)创建 没有进一步修改字符类别
(实际上它也是环境的版本,但会被委托给)