[eside-ghost] Problema al ejecutar comando externo en JAVA
Eneko chan
enekochan en gmail.com
Dom Ago 27 20:45:16 CEST 2006
Siento el posible off-topic, pero como JAVA es multiplataforma pues tambien
vale para Linux no? ;)
La cuestion es que un amigo (para el proyecto fin de carrera) necesita
ejecutar un comando externo desde JAVA para ejecutar el menconder y el
mplayer. Es para hacer una pequeña GUI y codificar videos en MPEG4. El
problema es que el comando se ejecuta al cerrar la aplicacion JAVA y no
cuando hago la llamada. Parece que queda "encolada" la llamada. Pense que el
problema podria deberse a alguna cosa de los thread, asi que he creado un
hilo nuevo donde se ejecuta la llamada al comando pero sigue sin funcionar.
¿Alguna idea?
El codigo es este:
Programa principal:
public class Main {
public static void main(String[] args) {
String comando = new String(".\\mplayer.exe \"Ghost In The Shell.avi\
"");
Ejecutar miEjecutor = new Ejecutar();
miEjecutor.comandoAEjecutar(comando);
Thread miThread = new Thread(miEjecutor);
miThread.start();
while(true); // Y me quedo aqui bloqueado para ver si la ventana del
mplayer aparece antes de cerrar mi programa
}
}
Clase ejecutora:
public class Ejecutar implements Runnable {
private String comando = new String("");
private String[] comandoConArgumentos;
public Ejecutar() {
}
public void comandoAEjecutar(String S) {
comando = S;
}
public void run() {
try {
this.comandoConArgumentos = this.comando.split("\\s"); // Si los
argumentos tienen espacios hay que pasar el comando en un String[] y por eso
lo separo segun los espacios
Process p = Runtime.getRuntime().exec(this.comandoConArgumentos);
} catch(Exception e) {
System.out.println(e);
}
}
}
--
Fotolog: http://www.fotolog.net/ceng
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20060827/923f511f/attachment.htm
Más información sobre la lista de distribución eside-ghost