通过java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序。
基本原理是,首先通过 Runtime.getRuntime() 返回与当前Java 应用程序相关的运行时对象,然后调用run.exec(cmd) 另启一个进程来执行命令(cmd为要执行的命令)。
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStreamReader; public class TestRunTime { public TestRunTime(){ String cmd = "D:\\Gephi-0.8.2\\bin\\gephi.exe D:\\Eclipse\\workbench\\zyq_kmeans\\data2.gdf"; // String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc"; // String cmd = "cmd.exe /c start F:\\test.doc"; // String cmd = "ping www.baidu.com"; Runtime run = Runtime.getRuntime();//返回与当前 Java 应用程序相关的运行时对象 try { java.lang.Process p = run.exec(cmd);// 启动另一个进程来执行命令 BufferedInputStream in = new BufferedInputStream(p.getInputStream()); BufferedReader inBr = new BufferedReader(new InputStreamReader(in)); String lineStr; while ((lineStr = inBr.readLine()) != null) //获得命令执行后在控制台的输出信息 System.out.println(lineStr);// 打印输出信息 //检查命令是否执行失败。 if (p.waitFor() != 0) { if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束 System.err.println("命令执行失败!"); } inBr.close(); in.close(); } catch (Exception e) { e.printStackTrace(); } } }
究竟是我抛弃了历史,还是历史遗弃了我。