Java中的getRuntime()。exec(php hello.php)和getRuntime()。exec(array)有什么区别?

时间:2014-04-22 19:13:11

标签: java linux

在下面的例子中,用于调用" 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);

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的特定情况下,没有。

multi-args版本不需要将命令行拆分为参数,因此它提供了带空格/制表符等的命令行参数。

From the Javadoc for the first (convenience) method

  

更确切地说,命令字符串使用a分解为标记   StringTokenizer由调用new StringTokenizer(command)创建   没有进一步修改字符类别

(实际上它也是环境的版本,但会被委托给)