http://eason982.blogspot.com/2008/01/java.html
每個application都會有一個Runtime類別的instance,讓你可以和執行時期的環境做互動。 你可以呼叫 getRuntime()來取得這個instance。
Runtime.exec()的
參數指的是
要執行的程式。Runtime.exec()會產生一個原生的process並 傳回一個 Process的子類別,可以用來控制或者取得這個原生process的資訊。
這個process 既不使終端機介面,也不用命令列介面,而是將他的I/O操作都轉向到這三個串流: Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream(). 注意! 根據不同的底層作業平台,你可能會遇到一些停滯的狀況。有一些平台的I/O串流只有很小 的buffer,如果不能快速的對標準I/O串流做讀寫,則可能會發生停滯的狀況。
//獲得一個 XML 文件的解析器
public class ReadingProcess { public static void main(String args[]){
//Provide a command as an input argument
Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(args[0]);
BufferedWriter buffOut = new BufferedWriter( new OutputStreamWriter( process.getOutputStream())); BufferedReader buffIn = new BufferedReader( new InputStreamReader( process.getInputStream()));
buffOut.write("//Some String"); buffOut.flush(); //Ensure that the output reaches the process
String s;
if((s=buffIn.readLine())!= null) System.out.println(s);
buffOut.close(); buffIn.close(); } }
|
melbourne handyman Counter