Java - Java exec y más

 
Vista:

Java exec y más

Publicado por LordHASH (1 intervención) el 31/08/2007 01:45:43
Hola,
Mi problema es el siguiente: Utilizando el método exec de la clase runtime consigo ejecutar un programa externo que realicé en C. Sin embargo, dicho programa, a su vez, abre un fichero de texto del que realiza lecturas y escrituras. Así que cuando va a ejecutarse, a abrir dicho fichero... se cuelga...¿cómo puedo solucionarlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Java exec y más

Publicado por chuidiang (950 intervenciones) el 01/09/2007 09:21:05
Hola:

Cuando desde java arrancas un programa externo -en C en tu caso-, la salida en pantalla de este programa en C no va a la pantalla, sino que se redirige hacia el programa java.

Si tu programa java no lee esa salida del programa C, en algún momento se llena el buffer de salida del programa C y se queda bloqueado. Por ello, si el programa C tiene una salida en pantalla más o menos larga, es necesario leer dicha salida desde java.

Eso se hace pidiendo en InputStream al Process que obtienes al arrancar el programa externo con Runtime y leyendo de dicho InputStream. La salida puedes tirarla si quieres, pero debes leerla.

Aquí tienes un ejemplo de como hacerlo http://www.chuidiang.com/java/ejemplos/Runtime/runtime.php

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar