Foros del Web » Programación para mayores de 30 ;) » Java »

ejecutar archivo desde java

Estas en el tema de ejecutar archivo desde java en el foro de Java en Foros del Web. Hola, mi pregunta es si la única manera de ejecutar archivos desde java es con: Process programa = Runtime.getRuntime().exec("cmd /c C:\\CoCoA\\cocoa.exe"); Tengo un problema al ...
  #1 (permalink)  
Antiguo 12/03/2010, 01:38
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
ejecutar archivo desde java

Hola, mi pregunta es si la única manera de ejecutar archivos desde java es con:
Process programa = Runtime.getRuntime().exec("cmd /c C:\\CoCoA\\cocoa.exe");

Tengo un problema al ejecutar dicho archivo y no entiendo la razón, porque otros archivos en la misma carpeta sí que se ejecutan. Es más, si hago doble click sobre el archivo, hace la operación correctamente, pero si lo hago desde Java no hay manera.

También he probado creando un archivo bat que contenga la ruta arriba especificada. Si ejecuto el bat haciendo doble click sobre él funciona perfectamente, pero si ejecuto el bat con la instrucción de arriba, vuelve a no hacer nada.

Decir también que he probado en varios ordenadores y varias actualizaciones del programa "CoCoA" y ocurre lo mismo siempre.

Agradecería ayuda porque llevo muchas horas echadas en ello y me veo incapaz de llegar a la solución

Saludos.
  #2 (permalink)  
Antiguo 16/03/2010, 03:02
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: ejecutar archivo desde java

Lo resubo por si acaso
  #3 (permalink)  
Antiguo 16/03/2010, 03:08
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: ejecutar archivo desde java

Wenas

Te da alguna excepción??

Saludos.
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #4 (permalink)  
Antiguo 17/03/2010, 03:18
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: ejecutar archivo desde java

Cita:
Iniciado por elAntonie Ver Mensaje
Wenas

Te da alguna excepción??

Saludos.
No, el programa se ejecuta correctamente, simplemente, no hace nada. Gracias por las molestias.
  #5 (permalink)  
Antiguo 17/03/2010, 04:19
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: ejecutar archivo desde java

Y te funciona ejecutar el cmd sobre otro fichero??

por ejemplo:

Código:
Process programa = Runtime.getRuntime().exec("cmd /c C:\\pepito.txt");
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #6 (permalink)  
Antiguo 18/03/2010, 05:20
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: ejecutar archivo desde java

Correcto, con cualquier fichero, en cualquier directorio, en el único caso que me falla en con ese. Lo he instalado y desinstalado hasta la saciedad, he probado en varios ordenadores, varias versiones de ese programa y nada de nada.

El caso es que otro compañero de universidad hizo un proyecto parecido al mío en el que utilizaba este mismo programa y él no tuvo ningún problema.
  #7 (permalink)  
Antiguo 18/03/2010, 05:39
 
Fecha de Ingreso: marzo-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ejecutar archivo desde java

Hace tiempo escribí dos artículos bastante extensos sobre el tema.

Es para Linux, pero en Windows será similar.
http://xand.es/ejecutar-comandos-linux-desde-java_20090816
http://xand.es/ejecutar-comandos-linux-desde-java-ii_20090817

Un saludo.
  #8 (permalink)  
Antiguo 18/03/2010, 05:42
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: ejecutar archivo desde java

Chico, lo unico que se me ocurre es que leas el proceso

Código:
Process programa = Runtime.getRuntime().exec("cmd /c C:\\pepito.txt");             
            InputStream is = programa.getInputStream(); 
            BufferedReader br = new BufferedReader (new InputStreamReader (is));
Y a base de br.readLine() ...

Saludos.

PD. Has mirado su exitValue??
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #9 (permalink)  
Antiguo 18/03/2010, 06:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: ejecutar archivo desde java

Si lo que quieres ejecutar es un .exe, no necesitas en realidad el cmd /c. Eso sólo se necesita para ejecutar un comando MSDOS, ya que hay que llamar al ejecutable cmd que es la shell de MSDOS.

De todas formas, para saber si va bien o no y lo que pasa, es conveniente leer la salida estandar y de error del proceso, por si da algun error. Si el proceso falla "en windows" no se lanza ninguna excepcion en Java, sólo se ve en la salidad de error.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #10 (permalink)  
Antiguo 23/03/2010, 03:37
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: ejecutar archivo desde java

Al final conseguí que funcionara creando un bat que contuviera lo siguiente y ejecutando desde Java con Runtime.

@echo off
cd C:\CoCoA
cocoa.exe

Dejo la solución por si a alguien le ayuda, y muchas gracias a todos!

Etiquetas: ejecutar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:02.