Ejecutar un comando externo en Java

Para invocar un ejecutable externo basta hacer uso de las utilidades de la maquina virtual, en este caso java.lang.Runtime, por ejemplo si queremos tener una clase que ejecute un comando y capturar la salida del mismo podemos utilizar la siguiente clase:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class CLIManager {
 
    public static ArrayList execCommand(String command) throws IOException {
        ArrayList cmdOutput = new ArrayList<>();
        Process p = Runtime.getRuntime().exec(command);
        BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String tmpLine = "";
        while ((tmpLine = bri.readLine()) != null) {
            cmdOutput.add(tmpLine);
        }
 
        return cmdOutput;
    }
}

En sintesis la clase ejecuta la llamada al programa externo mediante Runtime.getRuntime().exec y luego captura su salida mediante un InputStreamReader y la devuelve convenientemente en una estructura dinamica con el resultado de la operacion (n lineas). Como parte de un proyecto mayor podemos hacer alguna cosa mas interesante como una simple interfaz GUI que ejecute comandos hacia la CLI del sistema (independiente de sistema operativo) y muestre el resultado en pantalla 馃檪

Proyecto completo en Java:

CLIGui.tar.gz

 

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *