Java执行本地命令之Runtime.getRuntime()

如果需要延时又不想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()

赞 (0) 打赏

评论

3+8=

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏