2 回答
TA贡献1880条经验 获得超4个赞
String []cmdarray = new String[4];
cmdarray[0] = "cmd";
cmdarray[1] = "/c";
cmdarray[2] = "start";
cmdarray[3] = "c:/err&or.jpg".replace("&", "^&");
Runtime.getRuntime().exec(cmdarray);
&在cmd中作为关键字保留,还有空格等 你最好都转义一下 前面加^ 就行
TA贡献1829条经验 获得超7个赞
可以执行一个,不过好像一次执行不了多个。。
你要多调用几次。。
类似,你要调用 ipconfig ,再调用 ping
可以试试如下代码,我已经调试通过:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
public class Test {
public static void main (String[] args) {
excuteCommand("ipconfig");
excuteCommand("ping 10.141.26.50");
}
public static void excuteCommand(String command)
{
Runtime r = Runtime.getRuntime();
Process p;
try {
p = r.exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String inline;
while ((inline = br.readLine()) != null) {
System.out.println(inline);
}
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
添加回答
举报