domingo, 18 de octubre de 2009

Ejecutar Aplicaciones desde JAVA

Java nos da la posibilidad de ejecutar aplicaciones, esto es muy útil cuando necesitamos hacer uso, por ejemplo de un programa como: Telnet, SSH, Ping, Arp, etc.
De esta manera hacemos uso de lo que ya existe y no nos preocupamos por crear aplicaciones complejas, aparte de nuestras propias aplicaciones.

La siguiente porción de código, muestra de una manera sencilla como ejecutar una aplicación: VINAGRE, que es el cliente de Gnome en Linux para conectarse a un servidor VNC. Este código, es básico ya que no se le da todo el uso extendido a las excepciones que pueda arrojar, como por ejemplo, que pasaría si esta aplicación o cualquier otra no se encuentra registrada en el Path de la máquina, tendríamos por supuesto que colocar la ruta absoluta de la aplicación.







En la linea 125 se captura la dirección IP de un socket que hace referencia a una máquina en la red, el contenido de esta variable fue pasado por referencia al constructor de esta clase y se hizo pública para todos sus miembros.

En la siguiente línea, se crea un array de String, cuyo primer elemento será el nombre de la aplicación, primero se sugiere ensayar que Vinagre se encuentre en el Path, para ello, abrimos una consola y tecleamos este nombre, de todas maneras, si queremos evitarnos inconvenientes, simplemente agregamos toda la ruta de la ubicación, sino la sabemos, utilizamos el comando Find para saber en que directorio se encuentra. Cabe aclarar que en Windows todo esto sería diferente.
En este arreglo el segundo elemento y los restantes, hacen referencia a las opciones o parámetros que se le pasaran al programa, en este caso se le pasa la dirección IP, se podría utilizar un tercer argumento o elemento, como por ejemplo, la clave de logueo que solicita el servidor VNC, en este caso asumimos que el server a donde nos conectaremos no la solicita.

En la siguiente línea se declara una variable r de la clase Runtime, al utilizar la propiedad getRuntime(), se puede hacer uso del entorno de ejecución de la aplicación de Java que esta "corriendo", por lo que podemos ejecutar un proceso a través de dicho entorno, por medio de una variable Process.

No se requiere importar librerías para ejecutar estas instrucciones.
De todas maneras les dejo toda la documentación de la clase RunTime (En Inglés): http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html

No hay comentarios:

Publicar un comentario