Problemas com Runtime.getRuntime()... Executar outros progr

2 respostas
R

Olá amigos!

Há vários dias estou batendo cabeça com um método simples até… Estou tentando chamar/executar um programa escrito em C dentro do meu programa Java. O Programa se chama phred, e funciona perfeitamente quando chamo ele através da linha de comando. Trabalho com Linux e com este mesmo método consigo executar outros programas ou comandos como: “mozilla”, “ls”, etc. Só não entendo porque este não funciona. Segue o código abaixo:

public void chamaPhred() {

try {

String line;

Process p = Runtime.getRuntime().exec(cmdline);

BufferedReader input =

new BufferedReader

(new InputStreamReader(p.getInputStream()));

while ((line = input.readLine()) != null) {

System.out.println(line);

}

input.close();

}

catch (Exception err) {

err.printStackTrace();

}

}

Não é gerada nenhuma exception, não aparece nada no console. Bom, quem souber o que pode estar acontecendo ou quem já teve este problema por favor entre em contato. Gostaria de saber se há alguma restrição de tipo de programas que posso chamar através do Runtime.getRuntime(). Obrigado!

Rômulo Lucio
[email removido]

2 Respostas

R

Opa, esqueci de colocar…

String cmdline = “phred”;

Na verdade com isso ele teria que exibir uma mensagem de erro dizendo que falta parametros, eu passo dois parametros pra esse programa, que são dois diretórios: onde estão meus arquivos e pra onde vão o arquivo, na verdade o comando seria mais ou menos assim:

Satring cmdline = “phred -id /root/arquivos_velhos /root/arquivos_novos”;

Mas como disse, nada acontece, nenhum exception.

B

Bom kara… No Ruindows eu tenhu que chamar o command pra me dar o output… Assim:

String command = ("cmd.exe /c dir");

No *UNIX deve ser algo como:

String command = ("sh -c ls");

O “-c” eu chutei mas deve ser alguma coisa assim… Dá um help no “sh” pra ver como rodar uma aplicação pelo “sh”.

Criado 17 de dezembro de 2004
Ultima resposta 17 de dez. de 2004
Respostas 2
Participantes 2