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

Problemas al ejecutar comando

Estas en el tema de Problemas al ejecutar comando en el foro de Java en Foros del Web. Hola a todos Tengo dudas con un error que me está dando mi aplicación en tiempo de ejecución al ejecutar un comando. Estoy trabajando con ...
  #1 (permalink)  
Antiguo 03/05/2011, 13:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Problemas al ejecutar comando

Hola a todos


Tengo dudas con un error que me está dando mi aplicación en tiempo de ejecución al ejecutar un comando.
Estoy trabajando con Eclipse, pero lo raro del caso es que al correr la aplicación desde Eclipse el comando se ejecuta correctamente, pero al probar fuera de este no hace nada.

Logré copiar de la consola de Eclipse el comando a ejecutar, y es el siguiente:

C:\Program Files (x86)\PostgreSQL\8.3\bin\pg_restore.exe -v -d foresta -U postgres C:\Program Files\gvSIG_1.10\bin\gvSIG\extensiones\org.gvsig.f oresta\data\forestadb_default.backup -p 5432

y lo que debe hacer es restaurar un backup de una base de datos de postgres.
Al tratar de ejecutarlo fuera de Eclipse esto es lo que imprime la consola:

pg_restore: [archivador] no se pudo abrir el archivo de entrada «C:\Program»: No such file or directory


Aqui va el codigo con el que ejecuto el comando:

String line;


try
{
Process proc=Runtime.getRuntime().exec(command);

//Obtener la salida estandar de errores y guardarlos en una lista
InputStream error_stream=proc.getErrorStream();
BufferedReader br = new BufferedReader (new InputStreamReader(error_stream));

while ((line=br.readLine())!=null)
{
System.out.println(line);
IOUtils.saveStringToFile("d:\\command.log", line, true);

}

//Esperar a que termine el proceso
proc.waitFor();
System.out.println("El valor de retorno del comando "+command+" ha sido "+proc.exitValue());

_exit_value=proc.exitValue();
}
catch(IOException e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Error "+e.getMessage());
}


En realidad no tengo idea de que pueda ser.
Les agradezco de antemano cualquier ayuda



Saludos, RayCast
  #2 (permalink)  
Antiguo 03/05/2011, 16:22
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: Problemas al ejecutar comando

Hola amiga(o)
Hace poco tuve el mismo problema. y es que los espacios los trata como saltos de linea, lo que hice fue algo parecido a esto, solo con las rutas:

Código PHP:
String ruta "C:\Program Files\Adobe/mi_exe.exe"
ruta ruta.replace(' ''%'); 
De esta forma sustituye todos los espacios, y ya no te los toma como saltos de linea,

espero haberte ayudado,
  #3 (permalink)  
Antiguo 04/05/2011, 06:43
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problemas al ejecutar comando

Hola


Gracias por tu respuesta.
Te comento que hice lo que me dijiste y asi no funciona ni en Eclipse; me lanza esta excepción:

C:\Program%Files%(x86)\PostgreSQL\8.3\bin\pg_resto re.exe -v -d foresta -U postgres D:\gvSIG-1.10-workspace\_fwAndami\gvSIG\extensiones\org.gvsig.fo resta\data\forestadb_default.backup -p 5432
java.io.IOException: Cannot run program "C:\Program%Files%(x86)\PostgreSQL\8.3\bin\pg_rest ore.exe": CreateProcess error=2, El sistema no puede encontrar el archivo especificado
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)



Saludos, RayCast
  #4 (permalink)  
Antiguo 04/05/2011, 07:41
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problemas al ejecutar comando

Sólo tienes que poner entre comillas la ruta:

Código C:
Ver original
  1. String ruta = "\"C:\Program Files\Adobe/mi_exe.exe\"";

Lo que tienes que hacer es escapar las comillas para que Java no las interprete como
una cadena del lenguaje sino un caracter.

Al ponerlo entre comillas el interprete de comandos de windows te reconoce bien los espacio.

A ver si esto te sirve.
  #5 (permalink)  
Antiguo 04/05/2011, 08:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problemas al ejecutar comando

Hola


Resuelto el problema


Muchas Gracias

Saludos RayCast

Etiquetas: comando
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 03:09.