Artículos
Java

Como ejecutar un comando del sistema desde Java

09/Abr/2012

Hoy les traigo una forma de poder ejecutar un comando de consola en Java. La clave para ejecutar un comando en Java esta en los métodos exec(String command) y exec(String[] cmdarray).

La diferencia entre estos dos métodos Java es que el primero esta destinado a ejecutar comandos sin argumentos:

try {
	String cmd = "halt"; //Comando de apagado en linux
	Runtime.getRuntime().exec(cmd); 
} catch (IOException ioe) {
	System.out.println (ioe);
}

Y el segundo si, solo que deben poner cada ‘palabra’ en un índice distinto en el arreglo Java:

try {
	String [] cmd = {"shutdown","-s","-t", "10"}; //Comando de apagado en windows
	Runtime.getRuntime().exec(cmd);
} catch (IOException ioe) {
	System.out.println (ioe);
}

Recordar que el comando se va a ejecutar en un proceso Java aparte.

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 metodo public abstract InputStream getInputStream(), ya que con él podemos obtener un Stream para poder leer lo que el comando que ejecutamos escribío en la consola.

Process process = Runtime.getRuntime().exec("lsb_release -a");
InputStream inputstream = process.getInputStream();
BufferedInputStream bufferedinputstream = new BufferedInputStream(inputstream);

En mi caso, obtuve el siguiente texto al leer las lineas del buffer.

Distributor ID:	Ubuntu
Description:	Ubuntu 11.10
Release:	11.10
Codename:	oneiric

Espero que les haya gustado el artículo.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
21 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios