Calling an External Program in Java using Process and Runtime
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:
- Process class
- 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.
class CoolStuff
{
public static void main(String[] args)
{
try
{
String command = "C:\Program Files (x86)" +
"\Google\Chrome\Application\chrome.exe" ;
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
Share your thoughts in the comments
Please Login to comment...