[java] view plaincopy
package com.stmcc.test.read;
import java.io.IOException;
public class RunTimeTest {
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();//java的API,获得一个对象
try {
rt.exec("D:\\我的文档\\下载\\BeyondCompare\\BeyondCompare\\BCompare.exe");//找到这个路径,直接调用即可
rt.exec("notepad.exe");//与在cmd中输入一个notepad的效果一样的
} catch (IOException e) {
e.printStackTrace();
}
}
}
执行本地exe程序需要RunTime类:
执行cmd命令,需要使用Runtime类和Process类,Rumtime类能够使应用程序预期运行环境相连接。Process可用于控制并获取相关信息,提供了进程的输入、输出、等待完成、检查退出状态和销毁的方
[java] view plaincopy
public static void main(String[] args) {
RunProcess();
}
public static void RunProcess(){
try {
Process pr = Runtime.getRuntime().exec("ping www.baidu.com");//之用Rumtime执行一个cmd命令,返回一个Process对象
//获取执行命令进程的响应信息
BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
while(true){
//读取响应信息
String s = br.readLine();
if(s==null){
break;
}
System.out.println(s);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
还可以使用Rumtime类直接打开一个word文档,前提是电脑中安装了office word软件。
如果是含有空格的文件名呢?
[java] view plaincopy
public static void openDoc(){
try {
Runtime.getRuntime().exec("cmd.exe /c f:\\a.doc");
} catch (IOException e) {
e.printStackTrace();
}
}
[java] view plaincopy
public static void openDocNameContainBlank(){
try {
Runtime.getRuntime().exec("cmd /c \"f:\\a 副本.doc\"");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
原理也就是使用双引号引用起来,但双引号要加上转义字符\