首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

透过Process调用window命令提示符

2012-08-21 
通过Process调用window命令提示符public static void main(String[] args) throws Exception{Process proc

通过Process调用window命令提示符

public static void main(String[] args) throws Exception{Process process = Runtime.getRuntime().exec("cmd.exe");InputStream  in   = process.getInputStream();OutputStream out  = process.getOutputStream();Reader reader           = new InputStreamReader(in);BufferedWriter writer   = new BufferedWriter(new OutputStreamWriter(out));BufferedReader readLine = new BufferedReader(new InputStreamReader(System.in));int code;while(true){while((code = reader.read()) != -1){System.out.print((char)code);if(code == 62) {break;}}String cmd = readLine.readLine();if("exit".equals(cmd)){break;}writer.write(cmd+"\n");writer.flush();}reader.close();writer.close();readLine.close();}

偶然看见有人贴出java实现window的命令提示符功能demo,但是出现IO流的阻塞,自己研究了一下发现在java获取cmd的输出流并输出到控制台的时候,cmd等待用户输入命令,java又在等待cmd那边的阻塞完毕然后输出,这样就出现了死结。

热点排行