Java程序執(zhí)行cmd命令全過程
編寫程序?qū)崿F(xiàn)執(zhí)行cmd指令
1.1 思路分析
使用Process的exec()將cmd的執(zhí)行結(jié)果通過java的IO流輸出到IDE的控制臺即可。
Process的exec()方法。
看一下源碼,發(fā)現(xiàn)有好幾個構(gòu)造方法,傳單個cmd的,傳cmd數(shù)組的等。
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 這里實現(xiàn)單個命令結(jié)果輸出
.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調(diào)用 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();
}
}
}運行結(jié)果:(出現(xiàn)亂碼)

分析,dos窗口的編碼方式?jīng)]有指定嘛. 鼠標右鍵(箭頭所指方向)點擊屬性.


清晰看到是GBK編碼. 如果要修改DOS的默認編碼,使用如下指令.



再次修改回GBK的編碼方式.執(zhí)行以下命令.(當前代碼頁). chcp 936

修改如下代碼位置,添加編碼參數(shù).

再次運行程序.

dos下執(zhí)行.

修改dos下字體,顏色,布局的方式.

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

簡單總結(jié),使用Process類的相應方法執(zhí)行就可以了.
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java實現(xiàn)PDF轉(zhuǎn)Word的示例代碼(無水印無頁數(shù)限制)
這篇文章主要為大家詳細介紹了如何利用Java語言實現(xiàn)PDF轉(zhuǎn)Word文件的效果,并可以無水印、無頁數(shù)限制。文中的示例代碼講解詳細,需要的可以參考一下2022-05-05
SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼
H2數(shù)據(jù)庫是一個開源的關系型數(shù)據(jù)庫,本文重點給大家介紹SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼,感興趣的朋友跟隨小編一起看看吧2022-02-02
Java實現(xiàn)字符串轉(zhuǎn)換為十進制ASCII碼的實戰(zhàn)指南
將Java字符串轉(zhuǎn)換為十進制ASCII碼是文本處理、協(xié)議編碼、數(shù)據(jù)序列化和底層通信中的常見需求,下面我們就來看看具體的實現(xiàn)方法,希望對大家有所幫助2026-05-05
Spring?Security使用數(shù)據(jù)庫登錄認證授權
本文主要介紹了Spring?Security使用數(shù)據(jù)庫登錄認證授權,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

