Comando de java

2
La diferencia entre estos dos métodos Java es que el primero esta destinado a ejecutar comandos sin argumentos: 1. try { 2. String cmd = "halt"; //Comando de apagado en linux 3. Runtime.getRuntime().exec(cmd); 4. } catch (IOException ioe) { 5. System.out.println (ioe); 6. } Y el segundo si, solo que deben poner cada 'palabra' en un índice distinto en el arreglo Java: 1. try { 2. String [] cmd = {"shutdown","-s","-t", "10"}; //Comando de apagado en windows 3. Runtime.getRuntime().exec(cmd); 4. } catch (IOException ioe) { 5. System.out.println (ioe); 6. } 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 tipoProcess. 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. 1. Process process = Runtime.getRuntime().exec("lsb_release -a"); 2. InputStream inputstream = process.getInputStream(); 3. BufferedInputStream bufferedinputstream = new BufferedInputStream(inputstream); En mi caso, obtuve el siguiente texto al leer las lineas del buffer.

Transcript of Comando de java

Page 1: Comando de java

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

comandos sin argumentos:

1. try {

2. String cmd = "halt"; //Comando de apagado en linux

3. Runtime.getRuntime().exec(cmd);

4. } catch (IOException ioe) {

5. System.out.println (ioe);

6. }

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

1. try {

2. String [] cmd = {"shutdown","-s","-t", "10"}; //Comando de apagado en

windows

3. Runtime.getRuntime().exec(cmd);

4. } catch (IOException ioe) {

5. System.out.println (ioe);

6. }

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 tipoProcess.

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.

1. Process process = Runtime.getRuntime().exec("lsb_release -a");

2. InputStream inputstream = process.getInputStream();

3. BufferedInputStream bufferedinputstream = new

BufferedInputStream(inputstream);

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

Page 2: Comando de java

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