方法一:
public
static
void
main(String[] args)
throws
Exception {
Runtime runtime = Runtime.getRuntime();
/*
* 执行指定的字符串命令
* 相对路径现在当前目录找,然后去path找
* 绝对路径直接在绝对路径里找
*/
//runtime.exec("mspaint.exe");
/*
* 返回对创建的进程的管理对象
*/
//Process p = runtime.exec("mspaint.exe");
//Thread.sleep(10000);
//杀死刚才创建的进程,打开资源管理器,10秒钟后进程消失
//p.destroy();
/*
* 还可以用指定方式打开文件
* 默认是在当前目录找,但是eclipse里面有个src
* 在eclipse里会去src的上层目录找
*/
runtime.exec(
"notepad.exe src/net/xsoftlab/baike/RuntimeDemo.java"
);
//后续是执行命令和 并接收返回的结果
/*Process process = runtime.exec("cmd.exe /c dir d:\\");
InputStream inputStream = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"gb2312"));
String line = null;
while((line = br.readLine()) != null) {
System.out.println(line);
}*/
}
方法二:
public static void main(String [] args) throws IOException {
ProcessBuilder builder = new ProcessBuilder();
List<String> list = new ArrayList<>();
list.add("cmd.exe");
list.add("/c");
list.add("dir");
list.add("d:\\");
Process process = builder.command(list).start();
InputStream inputStream = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"gb2312"));
String line = null;
while((line = br.readLine()) != null) {
System.out.println(line);
}
}