“Conocimientos Programación>Programación Java

Java Runtime Exec Tutorial

2012/8/8
Clase de Runtime de Java proporciona acceso al entorno de ejecución en el que se ejecuta la aplicación . Métodos exec de tiempo de ejecución permiten ejecutar programas externos desde una aplicación Java. Ejecución de aplicaciones externas dentro de una aplicación Java le permite abrir una página web en un navegador, interactuar con utilidades del sistema operativo o de lanzar una ventana de la consola . Obtener el entorno de ejecución de

Todas las aplicaciones Java tienen una instancia del entorno de ejecución. Utilice el método getRuntime () de ejecución para acceder a este objeto. Por ejemplo :

Runtime rt = Runtime.getRuntime ();
Ejecutar una aplicación externa

Runtime ofrece varias maneras de llamar al método exec , que devuelve un objeto del proceso. La forma más sencilla de ejecutar una aplicación externa es el método Runtime exec ( comando String) , donde " comando" es la línea de comandos que se ejecuta la aplicación. La llamada siguiente ejecuta el comando "ls " para obtener un listado de directorio para el directorio root en un sistema Linux o Unix :

Process p = rt.exec ( "ls /") ;

el método exec también puede ser llamado con una matriz que contiene el comando y sus argumentos , la configuración de las variables de entorno y el directorio de trabajo .
Obtener información de procesos

el Proceso clase da acceso a la corriente de entrada, corriente de salida , corriente de error y el valor de salida del proceso ejecutado .

el método Process.getInputStream proporciona acceso a flujo de salida estándar del proceso "a través de flujo de entrada de la aplicación. La corriente debe ser amortiguada . Continuando con el ejemplo anterior, el código se accede a la salida de los " ls /" impresiones de comandos fuera de los resultados

InputStream istrm = p.getInputStream ( ) . InputStreamReader istrmrdr = new InputStreamReader ( istrm ) ; BufferedReader buffrdr = nueva BufferedReader ( istrmrdr ) ;
datos de cadena

; while (( data = buffrdr.readLine ()) = null ) { System.out.println (data) ;}

mismo modo, puede capturar la secuencia de error mediante el uso de getErrorStream Proceso ' y el uso de un flujo de entrada de buffer para manejar los datos. La aplicación también puede enviar datos al flujo de entrada del proceso "a través de flujo de salida de la aplicación. Utilice "método getOutputStream y amortiguar el flujo de salida.
Salir

Capturar el valor de salida del proceso utilizando Process Proceso exitValue método para determinar si se terminó normalmente . Asegúrese de que el proceso ha terminado con el método waitFor Process "para hacer que el subproceso actual que esperar a que el proceso termine . Por ejemplo , capturar el valor de salida en una variable, que puede ser utilizado más tarde para tomar decisiones acerca de cómo se procederá a su aplicación :

int ev = 0 ; if (! P.waitFor () = 0 ) { ev = p.exitValue () ;}

Un proceso puede ser asesinado con Process ' destruir método
Consideraciones

Java 5 introdujo la clase ProcessBuilder a reemplazar Runtime.exec . ProcessBuilder hace que sea más fácil de personalizar el proceso, y proporciona un mejor control de iniciar el proceso.
Advertencias

Una de las características principales del lenguaje de programación Java es su portabilidad a múltiples plataformas de computación . Llamar a los procesos externos que son específicas de un sistema operativo en particular mantiene su solicitud de ser portátil. Evite el uso de Runtime.exec cuando existe un método para lograr el mismo objetivo en el lenguaje Java.

Programación Java
Cómo comprobar el estado de la impresora en Java
Cómo construir una aplicación alrededor de un Applet Java
Ventajas y desventajas del Intérprete de Java Virtual Machine
Java Communications API Tutorial
Cómo conectar un controlador jTDS a SQL Express
Cómo cambiar el texto en el diario JSP
Cómo dejar la petición codificación Java
Cómo hacer que el código Java en un Applet
Conocimientos Informáticos © http://www.ordenador.online