[乐意黎原创] java process 一例

    Runtime rt = Runtime.getRuntime();
    Process p = null,process=null;
    StringBuilder info=new StringBuilder();
    ArrayList<String> bats=ApiFile.getBatFiles(currentfolder);
    for(int i=0;i<bats.size();i++)
    {
   
    try {
        
        p = rt.exec(currentfolder+File.separator+bats.get(i));
        InputStream bis = p.getInputStream();
              int _byte;    
              System.out.println("Process read in is :" + bis.read());
              while ((_byte = bis.read()) != -1){    
                  System.out.print((char) _byte);    
              }          
              bis.close(); 
              p.waitFor();
              System.out.println("Porcess saveAs report done.");
       } catch (Exception e) {
        System.out.println("Error my exec " + e);
       }
   
   
    try{
   
    System.out.println("================="+ApiFile.getBatFiles(currentfolder).get(i).toString());
       System.out.println("***********   "+currentfolder+File.separator+bats.get(i));
       process = rt.exec(currentfolder+File.separator+bats.get(i));
     
    // String[] cmds = {"currentfolder+File.separator+bats.get(i)"};//command and arg      
       
       System.out.println("========== Begin ===========" );
       try  {  
        process = Runtime.getRuntime().exec(currentfolder+File.separator+bats.get(i)); // 调用外部程序
        System.out.println("输出结果为:1" ); 
                              //process=Runtime.getRuntime().exec("test.bat");  
                                StreamGobbler  errorGobbler  =  new  StreamGobbler(process.getErrorStream(),  "ERROR");                          
                                System.out.println("输出结果为:2" ); 
                       //  kick  off  stderr  
                       errorGobbler.start();  
                         System.out.println("输出结果为:3" ); 
                       StreamGobbler  outGobbler  =  new  StreamGobbler(process.getInputStream(),  "STDOUT");  
                       //  kick  off  stdout  
                       outGobbler.start();  
                        System.out.println("输出结果为:4" );  
                               process.waitFor();  System.out.println("输出结果为:5" ); 
                               System.out.println(process.exitValue());  
                   }  catch(Exception  e)  {}             
                   System.out.println("========== Finished ===========" ); 
       
       
       final InputStream is1 = process.getInputStream();
       new Thread(new Runnable() 
       {
       public void run() 
       {
        try{System.out.println("Good morning.--00");
    BufferedReader br = new BufferedReader(new InputStreamReader(is1)); 
    System.out.println("Good morning.--01");
        while(br.readLine() != null) ;System.out.println("Good morning.--02");
        }catch(Exception ex){}System.out.println("Good morning.--1");
        }
       }).start();
     //  }.start();// 启动单独的线程来清空process.getInputStream()的缓冲区
       InputStream is2 = process.getErrorStream();System.out.println("Good morning.--10");
       BufferedReader br2 = new BufferedReader(new InputStreamReader(is2)); 
       StringBuilder buf = new StringBuilder(); // 保存输出结果流
       String line = null;System.out.println("Good morning.--11");
       while((line = br2.readLine()) != null) buf.append(line); // 循环等待ffmpeg进程结束
       System.out.println("Good morning.--12");
       System.out.println("输出结果为:" ); 
       
    String cmds="currentfolder+File.separator+bats.get(i)";
    ProcessBuilder builder = new ProcessBuilder(cmds);  
    //both read inputstream and errstream  
    builder.redirectErrorStream(true);  
    Process process = builder.start();  
    BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));  
    String readLine = br.readLine();  
    while (readLine != null) {  
       System.out.println(readLine);  
       readLine = br.readLine();  
    }  
    int resultValue = process.waitFor();  
    builder.redirectErrorStream(true); 

   
     
    BufferedReader read = new BufferedReader(new InputStreamReader(p.getInputStream())); 
            String str = null;  String   s   =   " ";OutputStream   out   =   p.getOutputStream(); 
            while ((str = read.readLine()) != null) { 
                System.out.println(str);
                info.append( "\n "+s); 
    if(!read.ready()) 
   
    String   o   =   "\n\n\nexit\n "; 
    out.write(o.getBytes()); 
   
            }
            
            read.close(); 
    out.close(); 
    p.destroy(); 
            
    InputStream   in   =   p.getInputStream(); 
    BufferedReader br   =   new   BufferedReader(new   InputStreamReader(in)); 
    OutputStream   out   =   p.getOutputStream(); 
    String   s   =   " "; 
    while(null   !=   (   s   =   br.readLine())) 
   
    info.append( "\n "+s); 
    if(!br.ready()) 
   
    String   o   =   "\n\n\nexit\n "; 
    out.write(o.getBytes()); 
   
   
    br.close(); 
    out.close(); 
    p.destroy(); 
    }catch(Exception ex){}
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值