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

Sincronizacion

Estas en el tema de Sincronizacion en el foro de Java en Foros del Web. Buenas foreros,necesito de vuestra ayuda.Necesito sincronizar dos funciones en Java.Os explico,tengo una interfaz hecha en Java,en la cual primero tengo que ejecutar un Script con ...
  #1 (permalink)  
Antiguo 05/11/2009, 07:16
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años
Puntos: 0
Sincronizacion

Buenas foreros,necesito de vuestra ayuda.Necesito sincronizar dos funciones en Java.Os explico,tengo una interfaz hecha en Java,en la cual primero tengo que ejecutar un Script con el comando Runtime.exec() y luego mostrarlo en cuadro de texto con un metodo que me he creado.Pero claro antes de que termine de ejecutar el script,ejecuta mi metodo para mostrar los datos pero como aun no estan disponibles pues aparece un error.A ver si podeis echarme una mano.

Mi codigo esta asi:
Código:
if(programa.compareTo("Temperatura Exterior")==0){
                      aplicacion.exec("cmd /c start C:\\Temp8Ho.R");
                      mostrarDatos("C:\\Temp\\prePrueba.txt");
}
Gracias de antemano.
  #2 (permalink)  
Antiguo 05/11/2009, 14:31
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Sincronizacion

Hola,

Posiblemente puedas usar algo así:

Código Java:
Ver original
  1. try {
  2.     String cmd = "cmd /c start /wait C:\\texto.txt";
  3.     java.lang.Process p = java.lang.Runtime.getRuntime().exec(cmd);
  4.     if (p.waitFor() == 0) {
  5.         // mostratDatos();
  6.     } else {
  7.         System.out.println("system errorlevel : " +
  8.                 String.valueOf(p.exitValue()));
  9.     }
  10. } catch (InterruptedException ex) {
  11.     System.out.println(ex.toString());
  12. } catch (IOException ex) {
  13.     ex.printStackTrace();
  14. }

El comando exec va a ejecutar el comando y seguidamente el proceso va a esperar hasta que finalice, es importante el parámetro '/wait' para 'start', de otra forma no funcionaría, puesto que 'cmd' ejecutaría el comando y saldría inmediatamente.

Saludos,

ps:
http://www.forosdelweb.com/f45/error...fb8ee3-620060/
  #3 (permalink)  
Antiguo 06/11/2009, 09:55
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años
Puntos: 0
Respuesta: Sincronizacion

Ok lo probare,porque estaba utilizando Thread.sleep() pero se me quedaba pillao...es decir me ejecutaba el Script pero se quedaba bloqueado,utilizare esto a ver que tal y ya te cuento.Pero el mostrar datos le quito las barras no??sino no lo mostrara no??

Saludos y gracias!
  #4 (permalink)  
Antiguo 06/11/2009, 10:36
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años
Puntos: 0
Respuesta: Sincronizacion

Ohhhhhhhhh!!funcionó perfectamente!!!!!!!!!!!!!es lo que me faltaba para terminar la aplicacion.Perfecto se muestran los datos una vez ha terminado el script en el cuadro de texto.Para rizar el rizo y aunque no forme parte de este tema.Seria facil añadir un boton para borrar esos datos que apatecen en el JtextArea?es decir para poder coger otro script y que se muestren sus datos.Muchas gracias por tu codigo de veras.

Un saludo,
Ignacio.
  #5 (permalink)  
Antiguo 07/11/2009, 04:42
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años
Puntos: 0
Respuesta: Sincronizacion

Ya he puesto el boton para el borrado de datos...A veces tienes que ponerte simplemente.Por cierto lo hice con el set.Text("").

Un saludo
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 21:21.