不好意思,小弟是近在看 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 ();
}