Running a Program


You want to run a program.


Use one of the exec( ) methods in the java.lang.Runtime class.


The exec( ) method in the Runtime class lets you run an external program. The command line you give will be broken into strings by a simple StringTokenizer (Section 3.3) and passed on to the operating system’s “execute a program” system call. As a simple example, here is a simple program that uses exec( ) to run kwrite , a windowed text editor program.[59] On MS-Windows, you’d have to change the name to notepad or wordpad, possibly including the full pathname, e.g., c:\\WINDOWS\\NOTEPAD.EXE (double backslashes because the backslash is special in Java strings).

// file
public class ExecDemoSimple {
    public static void main(String av[]) throws { 

        // Run the "notepad" program or a similar editor
        Process p = Runtime.getRuntime(  ).exec("kwrite");


When you compile and run it, the appropriate editor window appears:

$ jr ExecDemoSimple
+ jikes +E -d .
+ java ExecDemoSimple # causes a KWrite window to appear.

Example 26-1 runs the MS-Windows or Unix version of Netscape, assuming Netscape was installed in the default directory. It passes as an argument the name of a help file, offering a kind of primitive “help” mechanism, as displayed in Figure 26-1.

Example 26-1.

import com.darwinsys.util.*; import java.awt.event.*; import javax.swing.*; import*; import*; import ...

Get Java Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.