Ejecutar un programa desde mi programa en Java

ThanatosMK
17 de Abril del 2005
Lo que necesito es hacer un programa que realice la funcion de "granja de procesadores", esto es, que desde un equipo servidor mande a los equipos cliente un programa escrito en java y un pedaso de un archivo de datos sobre el cual se va a ejecutar el programa, luego, cada cliente al recibir tanto el programa en java como los datos, debe compilar y ejecutar el código que recibió (se supone que es un *.java) y regresar el resultado...

Mi duda ahora es... como se manda la ejecución de un programa (como el javac, o java) desde mi programa?

y ya en esas... como hago para redirigir la salida estandar de ese programa a un archivo?

Por su ayuda y atención, gracias de antemano!!

chuidiang
17 de Abril del 2005
Hola:

Para arrancar el programa, haz esto

Process p = Runtime.getRuntime().exec ("<path>/<ejecutable> <parametros>");

La salida y entradade ese programa se redirige automaticamente hacia tu programa java. Para enviarle datos al programa o leer su salida, obten de p los InputStream y OutputStream. Leyendo de ahi la salida del programa, ya puedes enviarla a donde quieras.

Se bueno.