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) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

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

支付宝扫一扫打赏

微信扫一扫打赏