如果需要延时又不想Thread.sleep();
线程卡住,可以使用此方法执行:ping 127.0.0.1 -n 5
实现,ping的单位为秒,如果需要毫秒级的精确度可以执行:cmd /cEcho WScript.Sleep 3000>delay.vbs && Start /wait delay.vbs
即可;如果只需要执行并等待完成而不需要回显输出,则代码可以简写为:Runtime.getRuntime().exec("ping 127.0.0.1 -n 5").waitFor();
public class Test { public static void main(String[] args) throws Exception { String command = "ping 127.0.0.1 -n 5"; Process process = Runtime.getRuntime().exec(command); BufferedInputStream bis = new BufferedInputStream(process.getInputStream()); BufferedReader br = new BufferedReader(new InputStreamReader(bis)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } //等待执行完毕 process.waitFor(); //判断exit code if (process.exitValue() != 0) { System.out.println("error!"); } bis.close(); br.close(); } }
未经允许不得转载:鹞之神乐 » Java执行本地命令之Runtime.getRuntime()