国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java 進程執行外部程序造成阻塞的一種原因

Java 進程執行外部程序造成阻塞的一種原因

2019-11-16 14:01java教程網 JAVA教程

前一陣子在研究文檔展示時使用了java進程直接調用外部程序,其中遇到一個問題花了好長時間才解決,這個問題就是外部程序直接執行沒什么問題,但是當使用Java進程執行時外部程序就阻塞在那兒不動了。而且這個外部程序在處理某

查了好多資料,差點就動手翻Java源碼了,最后結合一篇文章(忘記出處了),想到了輸出流會阻塞進程執行。 Java進程執行有一個輸入流,兩個輸出流(相對于外部程序)。當兩個輸出流有內容輸出,而Java執行程序沒有及時清空輸出流時就會阻塞進程。 
現貼出代碼,希望能幫助到有需要的同行: 

 

復制代碼代碼如下:

/**
  * pdf轉swf函數
  * @param path 輸入輸出文件路徑
  * @param inputFileName 輸入文件名
  * @param outputFileName 輸出文件名
  * @return File 生成的swf文件
  */
 private static File toSwf(String sourceFile, String destFile, String command) {
  long beginTime = System.nanoTime();
  Runtime rt = Runtime.getRuntime();
  try {
   Process process = rt.exec(command);

   final InputStream isNormal = process.getInputStream();
   new Thread(new Runnable() {
       public void run() {
           BufferedReader br = new BufferedReader(new InputStreamReader(isNormal)); 
           StringBuilder buf = new StringBuilder();
     String line = null;
     try {
      while((line = br.readLine()) != null){
       buf.append(line + "\n");
      }
     } catch (IOException e) {
      e.printStackTrace();
     }
     System.out.println("輸出結果為:" + buf);
       }
   }).start(); // 啟動單獨的線程來清空process.getInputStream()的緩沖區

   InputStream isError = process.getErrorStream();
   BufferedReader br2 = new BufferedReader(new InputStreamReader(isError)); 
   StringBuilder buf = new StringBuilder();
   String line = null;
   while((line = br2.readLine()) != null){
    buf.append(line + "\n");
   }
   System.out.println("錯誤輸出結果為:" + buf);

   try {
    process.waitFor();
   } catch (InterruptedException e) {
    e.printStackTrace();
   }

 

  } catch (IOException e) {
   e.printStackTrace();
  }
  long endTime = System.nanoTime();
  System.out.println("轉swf耗時: " + (endTime - beginTime) / 1000000000 + " 秒  " + sourceFile);
  return new File(destFile);
 }

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产综合久久久蜜臀粉嫩 | 久久久久久久久久久久久av | 岛国一区 | 久久综合电影 | 久久久国产一区二区三区 | 国产一级毛片电影 | 91色在线视频 | 日韩中文字幕在线观看视频 | 伊人久久婷婷色综合98网 | 欧美日韩不卡 | а天堂中文最新一区二区三区 | 国产精品久久久久久中文字 | 久久精品2019中文字幕 | 台湾一级特黄aa大片免费看 | 国产精品污www在线观看 | 欧美日韩精品一区二区在线观看 | 欧美亚洲综合久久 | 精品国产综合 | 视频一区 国产精品 | 亚洲淫片 | 免费在线成人网 | 在线播放91| 午夜av电影 | 日韩在线欧美 | 精品免费国产 | 精品久久久久久久久久久久 | 伊人在线 | 国产精品久久久久久久久久东京 | 国产亚洲精品久久久闺蜜 | 午夜视频在线 | 成人午夜精品一区二区三区 | 欧美乱大交xxxxx春色视频 | 国产高清不卡在线 | 国产成人精品久久二区二区 | 黄色av免费 | 伊人网站| 国产免费看 | 国产精品videosex极品 | 另类在线 | 亚洲精品欧美一区二区三区 | 国产精品视频网 |