作者 主題: JSP 執行 Linux command  (閱讀 1241 次)

0 會員 與 1 訪客 正在閱讀本文。

casa

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
JSP 執行 Linux command
« 於: 2013-09-16 15:41 »
不好意思,小弟是近在看 JSP code
對於底下有一段 執行 Linux command 的方式,有點困惑...
可以請學長們釋疑一下嗎? 感激不盡~~

1. 如果已經用 waitFor & exitValue  了,為什麼還可以再宣告 InputStreamReader 去收 cmd 的 output 呢?
2. 如果我先用 while & InputStreamReader 去收 cmd 的 output 後,那中間要怎麼判斷 exitvalue 呢?
3. 請問 P1.destroy (); 是必要的嗎?
4. 不曉得各位對底下的 code 有什麼建議嗎?

謝謝!
代碼: [選擇]
  P1= Runtime.getRuntime ().exec (cmd);
  P1.waitFor ();
  int existValue1 = P1.exitValue ();
  InputStreamReader ipstrr1 = new InputStreamReader (P1.getInputStream ());
  LineNumberReader input1 = new LineNumberReader (ipstrr1);
  try {
    String line1;
    while ((line1 = input1.readLine ()) != null) {
      line1 = line1.trim ();
      if (existValue1 == 0) {
        Get_Stage = true;
        Get_Stage_value = line1;
      } else{
        out.print ("<font size=\"4\" face=\"Times\" color=\"red\">" + line1 + "</font><br>");
      }
    }
    input1.close ();
    ipstrr1.close ();
  } catch (Exception e) {
    input1.close ();
    ipstrr1.close ();
  } finally {
    if (input1 != null || ipstrr1 != null) {
      try {
       input1.close ();
       ipstrr1.close ();
      } catch (Exception e) {
        // out.println (e.toString ());
      }
    }
  }
  if (existValue1 != 0) {
    P1.destroy ();
  }
« 上次編輯: 2013-09-16 15:46 由 casa »