[eside-ghost] Problema al ejecutar comando externo en JAVA
Inigo
i_munoz en euskalnet.net
Dom Ago 27 22:25:11 CEST 2006
Eneko chan escribió:
> 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?
¿Puede ser mplayer en vez de mplayer.exe?
>
> 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
> ------------------------------------------------------------------------
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
Más información sobre la lista de distribución eside-ghost