Open In App

Calling an External Program in Java using Process and Runtime

Improve
Improve
Like Article
Like
Save
Share
Report

Java contains the functionality of initiating an external process – an executable file or an existing application on the system, such as Google Chrome or the Media Player- by simple Java code. One way is to use following two classes for the purpose:

  1. Process class
  2. Runtime class

The Process class present in the java.lang package contains many useful methods such as killing a subprocess, making a thread wait for some time, returning the I/O stream of the subprocess etc. Subsequently, the Runtime class provides a portal to interact with the Java runtime environment. It contains methods to execute a process, give the number of available processors, display the free memory in the JVM, among others.




// A sample Java program (Written for Windows OS)
// to demonstrate creation of external process 
// using Runtime and Process
class CoolStuff
{
    public static void main(String[] args)
    {
        try
        {
            // Command to create an external process
            String command = "C:\Program Files (x86)"+
                 "\Google\Chrome\Application\chrome.exe";
  
            // Running the above command
            Runtime run  = Runtime.getRuntime();
            Process proc = run.exec(command);
        }
  
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}


Runtime.getRuntime() simply returns the Runtime object associated with the current Java application. The executable path is specified in the process exec(String path) method. We also have an IOException try-catch block to handle the case where the file to be executed is not found. On running the code, an instance of Google Chrome opens up on the computer.

Another way to create an external process is using ProcessBuilder which has been discussed in below post.ProcessBuilder in Java to create a basic online Judge


Last Updated : 09 Aug, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads