如何编辑这些代码以使其正常工作:
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
答案 0 :(得分:0)
var1 错误,您在开始时有一个scaped “
必须是:
String[] var1 = { "C:\\Program Files\\Internet Explorer\\iexplore.exe" };
这是异常的原因
现在根据文件:
你需要在同一个数组中传入要执行的命令和参数...
所以它必须只是
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});