June 4, 2008

Java - Run a System Command and Return Output

Run a system command and return output:
import java.io.*;

public static String cmdExec(String cmdLine) {
    String line;
    String output = "";
    try {
        Process p = Runtime.getRuntime().exec(cmdLine);
        BufferedReader input = new BufferedReader
            (new InputStreamReader(p.getInputStream()));
        while ((line = input.readLine()) != null) {
            output += (line + '\n');
        }
        input.close();
        }
    catch (Exception ex) {
        ex.printStackTrace();
    }
    return output;
}
Sample Usage:
public static void main(String[] args) {
    CmdExec cmd = new CmdExec();
    System.out.println(cmd.run("ls -a"));
}

4 comments:

Jonathan Kohl said...

What do your imports look like?

Corey Goldberg said...

@jonathan:

oops just added the import.

Jonathan Kohl said...

Thanks! I figured it out, but thought it would be easier for people to just copy/paste and try...

Anonymous said...

/bow for doing a rrdlib in python

-the other corey...