Process类中的Java文件路径和url

时间:2016-11-15 19:09:11

标签: java url process filepath

如何编辑这些代码以使其正常工作:

 String[] var1 = { "\"C:\\Program Files\\Internet Explorer\\iexplore.exe" };
 String[] var2 = { "http://google.com" };

 Runtime runTime = Runtime.getRuntime();
 Process process = runTime.exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" http://google.com");
 Process process2 = runTime.exec(var1,var2);

第一个“流程”工作正常,但“process2”在IE中打开默认网站而不是google.com

2 个答案:

答案 0 :(得分:0)

var1 错误,您在开始时有一个scaped

必须是:

String[] var1 = { "C:\\Program Files\\Internet Explorer\\iexplore.exe" };

这是异常的原因

现在根据文件:

enter image description here

你需要在同一个数组中传入要执行的命令和参数...

所以它必须只是

Process process2 = runTime.exec(var1);

其中

String[] var1 = { "C:\\Program Files\\Internet Explorer\\iexplore.exe", "http://google.com" };

答案 1 :(得分:0)

https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

process正在使用以下方法:

public Process exec(String[] cmdarray) throws IOException
  

在单独的进程中执行指定的命令和参数。   这是一种方便的方法。调用表单exec(cmdarray)   行为与调用exec完全相同(cmdarray,null,   空)。

process2正在使用以下方法:

public Process exec(String[] cmdarray, String[] envp) throws IOException
  

在单独的进程中执行指定的命令和参数   与指定的环境。这是一种方便的方法。一个   exec(cmdarray,envp)形式的调用完全符合   与调用exec(cmdarray,envp,null)相同。

尝试做:

String var1 = "\"C:\\Program Files\\Internet Explorer\\iexplore.exe";
String var2 = "http://google.com";
Process process2 = runTime.exec({var1,var2});