Problema ejecución archivo desde java

Veamos si me pueden ayudar, mi problema es el siguiente:
Tengo un programa Java desde el que lanzo un archivo bat para ejecutar otro archivo distinto. Este último archivo trata un archivo de texto ya creado y obtiene como salida otro archivo de texto, el cual, debo tratar en java posteriormente. Esquema:
Tengo entrada.txt -> ejecuto archivo desde java -> obtengo salida.txt
El problema viene al tratar este archivo (salida.txt), ya que tarda bastante en crearse. Tengo sospechas de que la razón es porque tengo a la vez el programa java ejecutándose y parece que le está comiendo toda la memoria. Esto es una ligera idea, ya que cuando ejecuto el archivo haciendo doble click, el archivo salida.txt aparece casi instántaneo, desde el bat, lo mismo, y en el caso de hacer un pequeño programa Java con una sola instrucción que llame a ejecución de este archivo, ocurre lo mismo. Es más, a la hora de estar ejecutando el programa Java, si cierro este, el archivo también se crea instantáneo.
Ahora, mi pregunta es si esto tiene algún tipo de arreglo o estoy perdido y tengo que cambiar el código por completo.
Respuesta
1
Pues lo primero que tendría que sabes es como estas ejecutando ese archivo desde java, ya que tendría que tardarse lo mismo, si le das doble click y si lo ejecutas con una instrucción en java, pero no se cual es la que utilizas, y segundo es saber que hace el .bat derepende hay algunos errores en este archivo. Entonces necesitaría sabes como es tu código java y que es lo que hace el .bat con los archivos para poder ayudarte mejor.
Ante todo, gracias por el interés mostrado.
La instrucción Java para ejecutar el bat es
Process ejecucion = Runtime.getRuntime().exec("cmd /c C:\\SEDIEN\\llamada.bat");
conteniendo llamada.bat el siguiente código:
c:\CoCoA\cocoa < c:\CoCoA\SEDIEN\vulnerabilidad.coc
El archivo cocoa es el ejecutable.
Como comentaba en el primer mensaje, si hago sobre click sobre el bat, la ejecución es instantánea, pero desde Java no. Estos días probando, creo que he llegado a la conclusión de que realizando otra tarea, como por ejemplo pulsar un botón, el archivo sí que aparece. La verdad es que no acabo de entender el por qué de esto, ya que debería aparecer desde el principio. Por cierto, si en java únicamente pongo el runtime de arriba sí que funciona, el problema viene en mi programa, que no acaba en esa instrucción ya que se compone de bastantes clases más.
Saludos!
Ooo Lo que deberías de ver es que procesos están entrando a esa clase o a donde llamas el método, porque debería de ser lo mismo no tendría porque haber problema ya que lo que haces con esa instrucción es llamar a la consola del SO que este usando y pues corre como que si lo habrieras a mano, amenos que utilices hilos o msg box o que el proceso se siga ejecutando, lo que pudieras intentar es matar el proceso o pararlo y ahí seguro que desocupas ese proceso y tendría que generar el archivo de una vez.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas