实现 java 执行 cmd 命令,打印输出,等待cmd 完全执行完成后才执行下面代码

来源:互联网 发布:众途软件 编辑:程序博客网 时间:2024/04/29 11:51

//执行windows 下 ejtag命令

final Process p = Runtime.getRuntime().exec("D:\\loongson\\OtherTools\\ejtag-debug-cygwin\\ejtag_debug_usb.exe  -e 'source  D:/ejtag-debug-cygwin/configs/config.ls1dspiUpload'");
         //获取进程的标准输入流  
  final InputStream is1 = p.getInputStream();   
  //获取进城的错误流  
  final InputStream is2 = p.getErrorStream();  
  //启动两个线程,一个线程负责读标准输出流,另一个负责读标准错误流  
  new Thread() {  
     public void run() {  
        BufferedReader br1 = new BufferedReader(new InputStreamReader(is1));  
         try {  
             String line1 = null;  
             while ((line1 = br1.readLine()) != null) {  
                   if (line1 != null){
                   System.out.println("=AA==========line1======"+line1);
                     }  
               }  
         } catch (IOException e) {  
              e.printStackTrace();  
         }  
         finally{  
              try {  
                is1.close();  
              } catch (IOException e) {  
                 e.printStackTrace();  
             }  
           }  
         }  
      }.start();  
                                 
    new Thread() {   
       public void  run() {   
        BufferedReader br2 = new  BufferedReader(new  InputStreamReader(is2));   
           try {   
              String line2 = null ;   
              while ((line2 = br2.readLine()) !=  null ) {   
                   if (line2 != null){
                   System.out.println("=AA==========line2======"+line2);
                   }  
              }   
            } catch (IOException e) {   
                  e.printStackTrace();  
            }   
           finally{  
              try {  
                  is2.close();  
              } catch (IOException e) {  
                  e.printStackTrace();  
              }  
            }  
         }   
       }.start();                  
       p.waitFor();  
       p.destroy();  
原创粉丝点击