capturar el resultado de otra aplicacion con java
    
		    Saludos a todos y feliz año nuevo! 
Estoy haciendo una aplicación en java, y me he quedado estancado, tal vez alguien sepa como solucionar mi problema.
Necesito que mi código reciba la salida de otra aplicacion (escrita en un lenguaje distinto).
Para ello tengo que llamar a esa aplicacion (me he creado un fichero .bat, que es lo que invoco), y capturar lo que devuelva.
Mi pregunta es:
¿¿¿SerÃa posible redirigir la salida estandar del sistema operativo mediante java, para que pueda capturar dicha salida y tratarla???
Muchas gracias de antemano a todos!
    Estoy haciendo una aplicación en java, y me he quedado estancado, tal vez alguien sepa como solucionar mi problema.
Necesito que mi código reciba la salida de otra aplicacion (escrita en un lenguaje distinto).
Para ello tengo que llamar a esa aplicacion (me he creado un fichero .bat, que es lo que invoco), y capturar lo que devuelva.
Mi pregunta es:
¿¿¿SerÃa posible redirigir la salida estandar del sistema operativo mediante java, para que pueda capturar dicha salida y tratarla???
Muchas gracias de antemano a todos!
		    Hola:
Te lo pongo un poco de memoria, asà que pueda que haya errores de sintaxis o falte algún parametro o algo de eso.
Para arrancar una aplicacion externa desde java, usa la clase Rutime. Además de arrancarla, develve un Process
Proccess p = Runtime.getRuntime().exec ("ejecutable.bat");
Al Process puede pedirle unos flujos de entrada y de salida. Lo que escibas por el flujo de salida, ira a la stdin de la aplicacion. Lo que la aplicacion escriba por la stdout, te llegara por uno de esos flujos.
En tu caso concreto, para leer la salida de la aplicacion, deberias hacer algo como esto
InputStream s = p.getInputStream();
s tiene metodos de leer. Desgraciadamente, son escasos y quizas no te valgan del todo.
Si es asi, puedes construir una clase BufferedReader para poder leer String de texto, con su metodo readLine(). Esto se hace asi.
BufferedReader d = new BufferedReader(new IputStreamReader(s));
Si en la salida del programa hay numeros, deberas "traducirlos" con clases como Integer.parseString() o similares.
Se bueno.
    Te lo pongo un poco de memoria, asà que pueda que haya errores de sintaxis o falte algún parametro o algo de eso.
Para arrancar una aplicacion externa desde java, usa la clase Rutime. Además de arrancarla, develve un Process
Proccess p = Runtime.getRuntime().exec ("ejecutable.bat");
Al Process puede pedirle unos flujos de entrada y de salida. Lo que escibas por el flujo de salida, ira a la stdin de la aplicacion. Lo que la aplicacion escriba por la stdout, te llegara por uno de esos flujos.
En tu caso concreto, para leer la salida de la aplicacion, deberias hacer algo como esto
InputStream s = p.getInputStream();
s tiene metodos de leer. Desgraciadamente, son escasos y quizas no te valgan del todo.
Si es asi, puedes construir una clase BufferedReader para poder leer String de texto, con su metodo readLine(). Esto se hace asi.
BufferedReader d = new BufferedReader(new IputStreamReader(s));
Si en la salida del programa hay numeros, deberas "traducirlos" con clases como Integer.parseString() o similares.
Se bueno.
