Java调用cmd命令行并返回执行结果

        命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。总之,它非常有用。打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车。它也可以执行BAT文件。下面讲述一下通过Java如何调用cmd命令并返回执行结果。

示例代码,具体如下:

package com.yoodb.blog;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
  
public class CommandTest {  
    public static void exeCmd(String commandStr) {  
        BufferedReader br = null;  
        try {  
            Process p = Runtime.getRuntime().exec(commandStr);  
            br = new BufferedReader(new InputStreamReader(p.getInputStream(),Charset.forName("GBK")));  
            String line = null;  
            StringBuilder sb = new StringBuilder();  
            while ((line = br.readLine()) != null) {  
                sb.append(line + "\n");  
            }  
            System.out.println(sb.toString());  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            if (br != null){  
                try {  
                    br.close();  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    }  
  
    public static void main(String[] args) {  
        String commandStr = "ping blog.yoodb.com";  
        CommandTest.exeCmd(commandStr);  
    }  
}

 

输出结果,具体如下:

正在 Ping blog.yoodb.com [123.57.47.154] 具有 32 字节的数据:

来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52

来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52

来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52

来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52

 

123.57.47.154 的 Ping 统计信息:

    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 4ms,最长 = 4ms,平均 = 4ms

转载于:https://my.oschina.net/freelife/blog/841229

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值