Creo que esto no es algo muy común para desarrollar, pero extrañamente lo necesite en el trabajo, supongo que a más de uno le servirá. Básicamente el código lo que hace es llamar a Bash de GNU/Linux, y permite ejecutar comandos nativos del Sistema Operativo, además de capturar el retorno de la ejecución del comando en un buffer e imprimirlo en pantalla.
Es sabido que Java es de ejecución Multiplataforma, pero en este caso sólo funcionará sobre cualquier distro GNU/Linux que tenga instalado shell bash, por lo tanto incluyo una pequeña validación del mismo para evitar una excepción descontrolada si se ejecuta en otras plataformas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public void EjecutarBash() { if (SO.ConsultarSO().indexOf("Linux") != -1) { try { String[] command = {"sh","-c","ls /dev/sd*"}; Process process = Runtime.getRuntime().exec(command); InputStream is = process.getInputStream(); byte[] buffer = new byte[1024]; for(int count = 0; (count = is.read(buffer)) >= 0;) { System.out.write(buffer, 0, count); } // end for } catch (Exception e) { e.printStackTrace(); } // end try } else { System.out.println("No es un sistema operativo basado en GNU/Linux"); } // end if } // end EjecutarBash public static String ConsultarSO() { return System.getProperty("os.name"); } // end ConsultarSO |
Articulos Relacionados:
- Ejecutar procedimiento almacenado desde Java (JDBC)
- Capturar texto por consola en Java en modo Password
- Obtener el Nombre, Versión, Arquitectura y otras propiedades del Sistema Operativo con Java
- Ejecutar Comandos SSH y transferir ficheros por SCP desde C#
- Encriptar / Desencriptar Texto en S-DES con Java









en
en
en
en
Sin Comentarios aun, puedes tú ser el primero en comentar!
Deja tu Comentario