Ejecutar un proceso externo
By outcast - Escrito el Octubre 5th, 2012
Tagged:
Buenos dias,
Estoy intentando ejecutar un proceso externo (clase) desde otra clase principal para que me devuelva un string y poder mostrarlo desde la clase principal. El proceso es simple (lo ejecuto desde NetBeans), se ejecuta bién, no da ningún error, pero no me devuelve el string. Por favor, podríais echarme una mano. Gracias
La clase principal es esta:
import java.lang.*; import java.io.*; // Clases Bufferedreader e InputStreamReader public class EjecutaProcesoExterno { public static void main(String arguments[]) throws Exception { // Devuelve el objeto (Runtime) asociado con la aplicación java actual. Runtime r = Runtime.getRuntime(); // Este objeto aplicación ejecuta la aplicación (LeeTiempoTranscurrido) // y la recoje en el objeto (p) de proceso Process p = r.exec("java LeeTiempoTranscurrido"); // El proceso (p) recoje la salida de dicha aplicación y la almacena // en el objeto (br). BufferedReader br = new BufferedReader( new InputStreamReader(p.getInputStream())); String texto; // Leemos desde el objeto (br) la salida de la aplicación y la // imprimimos en pantalla. while((texto = br.readLine()) != null) { System.out.println(texto); } } }
La clase/proceso externa llamada es esta:
import java.lang.*; import java.util.*; public class LeeTiempoTranscurrido { public static void main(String arguments[]) { // Devuelve la diferencia en milisegundos entre el tiempo actual y // la medianoche del 1 de Enero de 1970. long miliSegundos = System.currentTimeMillis(); System.out.print("Milisegundos transcurridos"); System.out.print(" desde el 1 de Enero de 1970: "); System.out.println(miliSegundos); } }