1:Reading Output from a Command.
try {
// Execute a command without arguments
String command = "ls";
Process child = Runtime.getRuntime().exec(command);
// Execute a command with an argument
command = "ls /tmp";
child = Runtime.getRuntime().exec(command);
} catch (IOException e) {
}
If an argument contain spaces, it is necessary to use the overload that requires the command and its arguments to be supplied in an array:
try { // Execute a command with an argument that contains a space String[] commands = new String[]{"grep", "hello world", "/tmp/f.txt"}; commands = new String[]{"grep", "hello world", "c://Documents and Settings//f.txt"}; Process child = Runtime.getRuntime().exec(commands); } catch (IOException e) { } 2:Reading Output from a Command
try { // Execute command String command = "ls"; Process child = Runtime.getRuntime().exec(command); // Get the input stream and read from it InputStream in = child.getInputStream(); int c; while ((c = in.read()) != -1) { process((char)c); } in.close(); } catch (IOException e) { } 3:Sending Input to a Command
try { // Execute command String command = "cat"; Process child = Runtime.getRuntime().exec(command); // Get output stream to write from it OutputStream out = child.getOutputStream(); out.write("some text".getBytes()); out.close(); } catch (IOException e) { }