Mega Code Archive

 
Categories / Java / Development Class
 

Execute an external program read its output, and print its exit status

import java.io.*; /**  * ExecDemo shows how to execute an external program  * read its output, and print its exit status.  */ public class ExecDemoWait {   public static void main(String argv[]) throws IOException {     // A Runtime object has methods for dealing with the OS     Runtime r = Runtime.getRuntime();     Process p;     // Process tracks one external native process     BufferedReader is;  // reader for output of process     String line;          // Our argv[0] contains the program to run; remaining elements     // of argv contain args for the target program. This is just     // what is needed for the String[] form of exec.     p = r.exec(argv);     System.out.println("In Main after exec");     // getInputStream gives an Input stream connected to     // the process p's standard output. Just use it to make     // a BufferedReader to readLine() what the program writes out.     is = new BufferedReader(new InputStreamReader(p.getInputStream()));     while ((line = is.readLine()) != null)       System.out.println(line);          System.out.println("In Main after EOF");     System.out.flush();     try {       p.waitFor();  // wait for process to complete     } catch (InterruptedException e) {       System.err.println(e);  // "Can'tHappen"       return;     }     System.err.println("Process done, exit status was " + p.exitValue());     return;   } }