Como ejecutar un comando del sistema desde Java
Hoy les traigo una forma de poder ejecutar un comando de consola en Java. La clave para ejecutar un comando en Java está en los métodos exec(String command) y exec(String[] cmdarray).
Métodos exec()
Sección titulada «Métodos exec()»La diferencia entre estos dos métodos Java es que el primero está destinado a ejecutar comandos sin argumentos:
Runtime.getRuntime().exec("dir");Y el segundo sí, solo que deben poner cada palabra en un índice distinto en el arreglo Java:
String[] cmd = {"ping", "[google.com](http://google.com/)"};Runtime.getRuntime().exec(cmd);💡 Recordar que el comando se va a ejecutar en un proceso Java aparte.
Obtener la Respuesta del Comando
Sección titulada «Obtener la Respuesta del Comando»Otra cosa a tener en cuenta es el retorno que brindan estos métodos. Para ello tenemos el objeto de tipo Process. La clase Process posee algunos métodos interesantes, en especial el método public abstract InputStream getInputStream(), ya que con él podemos obtener un Stream para poder leer lo que el comando que ejecutamos escribió en la consola.
Process p = Runtime.getRuntime().exec("dir");InputStream in = p.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(in));String linea;while ((linea = br.readLine()) != null) { System.out.println(linea);}Resultado
Sección titulada «Resultado»En mi caso, obtuve el siguiente texto al leer las líneas del buffer:
El volumen de la unidad C es OSEl número de serie del volumen es: 123A-45B6Directorio de C:\Users\Feffo\Desktop
09/04/2012 06:00 AM <DIR> .09/04/2012 06:00 AM <DIR> .. 0 archivos 0 bytes 2 dirs 10,485,760,000 bytes libresEspero que les haya gustado el artículo.
Descarga el código de Como ejecutar un comando del sistema desde Java
Como ejecutar un comando del sistema desde Java y leer la respuesta devuelta por dicho comando.