日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java cmd 等待输入_JAVA:调用cmd指令(支持多次手工输入)

發布時間:2025/4/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java cmd 等待输入_JAVA:调用cmd指令(支持多次手工输入) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 packagecom.le.tool;2

3 importjava.io.BufferedReader;4 importjava.io.File;5 importjava.io.IOException;6 importjava.io.InputStream;7 importjava.io.InputStreamReader;8 importjava.io.PrintWriter;9 importjava.nio.charset.Charset;10

11 /**

12 * java調用cmd指令工具類13 *14 *@authorle.li15 *16 */

17 public classExecuteUtil {18 /**

19 * 避免亂碼,如果沒有傳入語言編號,默認使用英文437
20 * D:\>chcp /? 顯示或設置活動代碼頁編號。
21 * CHCP [nnn]
22 * nnn 指定代碼頁編號。
23 * 不帶參數鍵入 CHCP 以顯示活動代碼頁編號。
24 */

25 private static final String DEFAULT_LANGUAGE_CODE = "437";26

27 /**

28 * window系統默認語言:GBK29 */

30 private static final String DEFAULT_LANGUAGE = "GBK";31

32 public static voidmain(String[] args) {33 //executeLink();34

35 //executeCmd("dir .");36

37 //舉例直接把bat文件當cmd指令調用

38 String cmd = null;39 String fileName = "test.bat";40 File f = new File(".");41 try{42 cmd = f.getCanonicalPath() + File.separator +fileName;43 } catch(IOException e) {44 //e.printStackTrace();

45 System.err.println("get cmd file error.");46 }47 executeCmd(cmd);48 }49

50 /**

51 * 獲取操作系統默認語言52 *53 *@returnString54 *@seejava虛擬機啟動默認的編碼(一般和java文件設置格式一致)
55 * System.out.println(Charset.defaultCharset());
56 * 查看預置的變量信息:System.getProperties().list(System.out);
57 * 屬性:
58 * 文件編碼:file.encoding
59 * 系統默認編碼sun.jnu.encoding60 */

61 private staticString getsystemLanguage() {62 return null == System.getProperty("sun.jnu.encoding") ?DEFAULT_LANGUAGE63 : System.getProperty("sun.jnu.encoding");64 }65

66 /**

67 * 執行cmd指令68 *@paramcmd 執行指令69 */

70 public static voidexecuteCmd(String cmd) {71 executeLink(DEFAULT_LANGUAGE_CODE, true, cmd);72 }73

74 /**

75 * cmd手工輸入交互處理窗口76 */

77 public static voidexecuteLink() {78 executeLink(DEFAULT_LANGUAGE_CODE, false, "");79 }80

81 /**

82 * cmd交互處理窗口83 *84 *@paramlanguageCode 系統語言編碼85 *@paramisOneRun 只執行cmd指令86 *@paramcmd 執行的指令87 *@see在中文windows系統中,根據編碼需要設置編碼 chcp 65001 就是換成UTF-8代碼頁
88 * chcp 936 可以換回默認的GBK
89 * chcp 437 是美國英語
90 */

91 public static void executeLink(String languageCode, booleanisOneRun, String cmd) {92 try{93 String cmdBin = "cmd";94 if(isOneRun) {95 cmdBin = "cmd /c ";96 }97 Process process = Runtime.getRuntime().exec(cmdBin +cmd);98 PrintWriter writer = newPrintWriter(process.getOutputStream());99 if (!isOneRun) {100 //此處可以預置交互指令101 //writer.println("chcp " + languageCode);

102 writer.println("echo Hello World.");103 writer.flush();104 }105 CommandThread commandThread = newCommandThread(writer);106 commandThread.setName("ExecuteCmdThread");107 commandThread.start();108 ProcessInputStreamThread inputThread = newProcessInputStreamThread(process.getInputStream());109 ProcessInputStreamThread errorThread = newProcessInputStreamThread(process.getErrorStream());110 inputThread.setName("InputStreamThread");111 inputThread.start();112 errorThread.setName("ErrorStreamThread");113 errorThread.start();114 //即使添加下邊的一句也不會使線程結束115 //Thread.currentThread().interrupt();

116 } catch(Exception e) {117 e.printStackTrace();118 }119 }120

121 static class CommandThread extendsThread {122 PrintWriter writer;123 BufferedReader br = null;124

125 CommandThread(PrintWriter writer) {126 this.writer =writer;127 //避免出現亂碼問題,直接使用系統默認的編碼格式

128 br = new BufferedReader(newInputStreamReader(System.in, Charset.forName(getsystemLanguage())));129 this.setDaemon(true);130 }131

132 @Override133 public voidrun() {134 try{135 String cmd = null;136 while ((cmd = br.readLine()) != null) {137 writer.println(cmd);138 writer.flush();139 }140 } catch(IOException e) {141 e.printStackTrace();142 } finally{143 if (null !=writer) {144 writer.close();145 }146 if (null !=br) {147 try{148 br.close();149 } catch(IOException e) {150 //TODO Auto-generated catch block

151 e.printStackTrace();152 }153 }154 }155 }156 }157

158 static class ProcessInputStreamThread extendsThread {159

160 InputStream input;161 BufferedReader breader = null;162

163 ProcessInputStreamThread(InputStream input) {164 this.input =input;165 //避免出現亂碼問題,直接使用系統默認的編碼格式

166 breader = new BufferedReader(newInputStreamReader(input, Charset.forName(getsystemLanguage())));167 }168

169 @Override170 public voidrun() {171 try{172 String str = null;173 while ((str = breader.readLine()) != null) {174 System.out.println(str);175 }176 } catch(IOException e) {177 e.printStackTrace();178 } finally{179 if (null !=input) {180 try{181 input.close();182 } catch(IOException e) {183 //TODO Auto-generated catch block

184 e.printStackTrace();185 }186 }187 if (null !=breader) {188 try{189 breader.close();190 } catch(IOException e) {191 //TODO Auto-generated catch block

192 e.printStackTrace();193 }194 }195 }196 }197 }198 }

總結

以上是生活随笔為你收集整理的java cmd 等待输入_JAVA:调用cmd指令(支持多次手工输入)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲美女一级片 | 亚洲美女高潮久久久 | 九久久 | 亚洲av无码久久精品狠狠爱浪潮 | 国产午夜精品一区二区三区欧美 | 黑丝美女一区二区 | 亚洲男男网站 | 人妻精品无码一区二区三区 | 一区二区三区资源 | 蜜桃精品视频在线观看 | 久草成人在线视频 | 青青草免费av | 久久精品国产久精国产 | 成人免费毛片嘿嘿连载视频 | 美女屁股眼视频免费 | 国产女主播在线播放 | 中文字幕在线观看精品 | 午夜毛片电影 | 久久久精选 | 日产精品一区二区 | 午夜福利电影一区 | 天天射网 | 色乱码一区二区三区在线男奴 | 在线视频观看国产 | 日韩三区四区 | m3u8成人免费视频 | 在线亚洲免费 | 日韩成人一区二区三区 | 亚洲人成在线播放 | 大地资源高清播放在线观看 | 精品日韩在线播放 | 国产看真人毛片爱做a片 | 熟妇高潮一区二区高潮 | 小视频在线免费观看 | 天天插天天射天天干 | 日韩一二三区视频 | 国产伦精品一区二区三区在线观看 | 白浆在线 | 亚洲蜜桃av一区二区 | 成片免费观看视频 | 日韩精品一区二区三区四区五区 | av资源新版在线天堂 | 中文字幕免费在线看线人 | 少妇特黄一区二区 | 日本免费黄网站 | 性爱动漫| 久久久精| 精品国产免费人成在线观看 | 131mm少妇做爰视频 | 久久久中文字幕 | 亚洲精品国产精品国自产观看 | 99小视频 | av高清在线| 亚洲系列 | 国产精品亚洲无码 | 国产精品美女久久久久 | 国产精品久久国产精品 | 色欲人妻综合网 | 波多野结衣免费看 | 超碰人人人 | 欧美成本人视频 | 国产黄色一区二区三区 | 亚洲一区影视 | 精品久久久久久久中文字幕 | 香蕉av一区二区三区 | 成年人网站黄色 | 日本a视频在线观看 | 成人免费毛片日本片视频 | 欧美激情18p| 日本免费小视频 | 国语对白一区 | 91精品久久久久久粉嫩 | 他趴在我两腿中间添得好爽在线看 | 女性女同性aⅴ免费观女性恋 | 小早川怜子一区二区三区 | 18p在线观看| 亚洲av无码精品色午夜果冻不卡 | 欧美熟妇交换久久久久久分类 | 少妇高潮喷水在线观看 | 一二三区在线观看 | 国产视频久久久 | 看片一区 | 久久mm | 成人av电影天堂 | 天天看夜夜爽 | 免费国偷自产拍精品视频 | 午夜av网站| 国产美女视频网站 | 国产成人在线看 | 激情丁香| 亚洲精品国产综合 | 一区二区在线播放视频 | 91污片 | 欧美人与按摩师xxxx | 日韩精品影院 | 超碰p | 少妇2做爰hd韩国电影 | 午夜一级大片 | 日韩高清免费av |