Fazer chamada a um programa!

Alguém saberia me dizer como faço a chamada de um outro programa no java!!
Esse programa é um feito em clipper!
Tem como obter os resultados dele?

Para rodar outro programa:
Runtime.getRuntime().exec(“c:\Windows\calc.exe”);

Já referente vc pegar os resultados seria ideal vc escrevê0los num arquivo.
Ex: o Sistema em clipper da os resultados e cria um arquivo com os mesmos. Então vc poderá abrir e pegar os valores escritos nele num sistema em Java, assim vice-versa…

Espero ter ajudado,
Maicon

Vlw cara era isso mesmo que eu precisava!
outra coisa tem jeito de travar o programa em java enquanto o exe estiver sendo executado?

[quote=“maicon_b”]Para rodar outro programa:
Runtime.getRuntime().exec(“c:\Windows\calc.exe”);

Já referente vc pegar os resultados seria ideal vc escrevê0los num arquivo.
Ex: o Sistema em clipper da os resultados e cria um arquivo com os mesmos. Então vc poderá abrir e pegar os valores escritos nele num sistema em Java, assim vice-versa…

Espero ter ajudado,
Maicon[/quote]

assim:

Process processo = Runtime.getRuntime().exec("c:\Windows\calc.exe");
processo.waitFor();

Cara sem querer amolar muito tem como passar parametros?

[quote=“seuparada”]assim:

[code]
Process processo = Runtime.getRuntime().exec("c:\Windows\calc.exe");
processo.waitFor();

[/code][/quote]

Olha só… Nunca testei isso mas o que eu imagino…

Se vc tem um programa que aceita parâmetros de entrada, acredito que se vc por
Runtime.getRuntime().exec(“MeuPorg.exe param1 param2”);
Avredito que dê certo,
Alguém me corrija se eu estiver errado…

Se fosse meu caso e não conseguiria fazendo isso, claro após de uma bela pesquisa, eu iria criar algum arquivo de parâmetros.
Assim como vc quer pegar os resultados através de um arquivo, vc tb pode passar parâmetros.

Seria somente um idéia…
Obs: Fiquei curioso para ver se os progs aceitam parâmetros como entrada…

Espero que tenha ajudado em algo…
Abraço,
Maicon

maicon fiz um teste e parece que funcionou

Process processo = Runtime.getRuntime().exec(“notepad c:” + File.separator + “teste.txt”);
isso funciona logo acho que quando fizer chamada em um outro programa que aceita argumentos deve funcionar!!

[quote=“maicon_b”]Olha só… Nunca testei isso mas o que eu imagino…

Se vc tem um programa que aceita parâmetros de entrada, acredito que se vc por
Runtime.getRuntime().exec(“MeuPorg.exe param1 param2”);
Avredito que dê certo,
Alguém me corrija se eu estiver errado…

Se fosse meu caso e não conseguiria fazendo isso, claro após de uma bela pesquisa, eu iria criar algum arquivo de parâmetros.
Assim como vc quer pegar os resultados através de um arquivo, vc tb pode passar parâmetros.

Seria somente um idéia…
Obs: Fiquei curioso para ver se os progs aceitam parâmetros como entrada…

Espero que tenha ajudado em algo…
Abraço,
Maicon[/quote]

Legal que funcionou…
Show de bola.

Abraço,
Maicon

Estou abrindo um documento word com o comando

Process teste = executor.exec("cmd /C start arquivo.doc");
 teste.waitFor();

E o waitFor() não está funcionando como eu espero, eu gostaria que minha aplicação esperasse até eu fechar o arquivo .doc. No caso eu esperaria o word fechar e faria o upload do arquivo no final do processo. Teria algum modo de monitorar este processo?? Era pra o waitFor funcionar???

Marcio,

Ao invés de usar o cmd start, tenta usar o proprio exe do word.

Process teste = executor.exec("winword arquivo.doc"); teste.waitFor();

Acho que assim funciona.