1. 程式人生 > >Java程式執行cmd命令

Java程式執行cmd命令

一:編寫程式實現執行cmd指令.

      1.1 思路分析:使用Process的exec()將cmd的執行結果通過java的IO流輸出到IDE的控制檯即可.

      Process的exec()方法.看一下原始碼,發現有好幾個構造方法,傳單個cmd的,傳cmd陣列的等.

  public Process exec(String command) throws IOException {
        return exec(command, null, null);
   }

 

public Process exec(String command, String[] envp) throws IOException {
        return exec(command, envp, null);
    }

  1.2 這裡實現單個命令結果輸出.cmd的指令是ping www.baidu.com.

   

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class DosUtil {
    public static void main(String[] args) {
        // Java呼叫 dos命令
        String cmd = "ping www.baidu.com";
        try {
            Process process = Runtime.getRuntime().exec(cmd);
            InputStream is = process.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String content = br.readLine();
            while (content != null) {
                System.out.println(content);
                content = br.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 執行結果:(出現亂碼)

 

分析,dos視窗的編碼方式沒有指定嘛.

滑鼠右鍵(箭頭所指方向).點選屬性.

清晰看到是GBK編碼.

如果要修改DOS的預設編碼,使用如下指令.

再次修改回GBK的編碼方式.執行以下命令.(當前內碼表).

chcp 936

修改如下程式碼位置,新增編碼引數.

再次執行程式.

dos下執行.

修改dos下字型,顏色,佈局的方式.

看到想修改的字型顏色,使用Windows自帶的畫圖工具,吸取顏色,獲取RGB顏色程式碼值,設定就可以了.

簡單總結,使用Process類的相應方法執行就可以了.