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
來源: 素文宅 - 博客頻道

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章