日韩性视频-久久久蜜桃-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指令(支持多次手工输入)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 自拍偷拍1 | 亚洲区视频在线观看 | 乌克兰做爰xxxⅹ性视频 | 激情视频在线观看免费 | 亚洲AV无码精品久久一区二区 | 91av一区二区三区 | 朝桐光一区二区三区 | 国产性精品 | 能看的黄色网址 | 国产午夜精品一区 | www.色网站 | 一女三黑人理论片在线 | 国产精品操 | 一个人免费在线观看视频 | 久久久夜色精品亚洲 | 欧美做受高潮1 | 日皮在线观看 | 国产肥白大熟妇bbbb视频 | 色噜噜网站 | 国产人成免费视频 | 色性av| 中文字幕av专区dvd | 性渴老太作爱 | 在线免费观看中文字幕 | jizz在线播放| 亚洲天堂久久久久 | 亚洲综合福利 | 激情影院内射美女 | 亚洲一区二区电影 | 亚洲国产精品99久久久久久久久 | 色91av | 国产在线xxx | 97人人人| 国产综合精品一区二区三区 | 亚洲乱码精品久久久久.. | 午夜视频免费观看 | 另类视频在线观看 | 国产在线不卡av | 成年人午夜影院 | 午夜性生活视频 | 久久久久久一区二区 | 国产日产欧美一区二区 | 草草色 | 国产精品一区久久 | 久草国产精品 | 精品久久久久久久久久久久久久久久久 | av中文字幕在线看 | av大片网址 | 国产婷婷一区二区三区 | 中国黄色网页 | 日韩国产毛片 | 午夜福利理论片在线观看 | 午夜神器在线观看 | 亚洲综合91 | 免费视频爱爱太爽 | 亚洲精品国产熟女久久久 | 欧美精品999| 欧美三日本三级少妇三级99观看视频 | 国产综合在线视频 | 黄色99 | 一本色道久久综合 | 亚洲一区二区三区在线视频观看 | 少妇专区 | 特大黑人娇小亚洲女mp4 | 毛片免费全部无码播放 | 欧美中文网 | 粗了大了 整进去好爽视频 日本女优中文字幕 | 国产精品夜夜 | 欧美国产日韩一区二区 | 青青伊人影院 | 亚洲久久影院 | 中文字幕第15页 | 韩国一区二区三区四区 | av大片免费观看 | xxxx18国产| 91不卡视频 | 欧美日韩国产免费观看 | 轻点好疼好大好爽视频 | 午夜免费福利小电影 | 性久久| youjizz.com在线观看 | 欧洲视频一区 | 欧美日韩少妇精品 | 精品一区二区三区无码视频 | 亚洲天堂免费看 | 国产成人精品在线 | 国产精品精品久久久久久 | 自拍偷拍麻豆 | 日韩专区第一页 | 婷婷激情电影 | 亚洲最黄网站 | 欧美在线色图 | 午夜福利电影一区二区 | 国产精品久久久久久亚洲伦 | 午夜福利电影一区二区 | 国产日韩一区二区在线 | 亚洲午夜在线视频 | 人人妻人人爽欧美成人一区 | 黑人巨大精品欧美黑寡妇 |