Process: Dessa vez n passa

5 respostas
J

Pois é, minha luta c a execucao de comandos e o Process continua.
O código é o seguinte:

try { Process p = Runtime.getRuntime().exec( "rm -f teste" ); } catch( IOException io) { io.printStackTrace(); }

Eu to precisando remover, por exemplo, um arquivo que esteja no diretorio de programa. Tudo compila e roda normalmente mas so que a PESTE do arquivo continua lá.

O que é que tá errado ?!

Obrigado.

5 Respostas

Rafael_Steil
new File("teste").delete();

Rafael

pcalcado

Apesar da sugestão do Steil ser a melhor [Java não tinha alguma coisa sobre protabilidade :wink: ], o fato de executar um programa não significa que o programa fez o que vc quis. provavelmente o rm tá retornando uma mensagem de erro.

Faça o seguinte: leia a saída do seu rm com o InputStream, deve ver algo neste sentido. Outra coisa: para saber onde está sendo executado, mande um exec(“pwd”) e leia a saída [deve ter um padrão nisso, olhe na API, mas essa é a única coisa que consegui pensar!!].

[]s

aborges

“Rafael Steil”:
new File("teste").delete();

Rafael

C eu nao me engano, o File(“teste”) nao busca o arquivo no root do programa … :frowning:

Rafael_Steil

Basta voce passar o path. Mesm os comandos shell vai ser relativos ao diretorio de binarios da tua aplicacao.

Rafael

J

O exemplo que eu tinha dado foi infeliz eu sei, sobre deletar um arquivo, eu so quis ilustrar de que maneira deveria proceder. Mas a minha aplicacao tem que chamar outra aplicacao pra executar tais comandos DESTE outro aplicativo.

Felizmente eu consegui. O pcalcado me alertou pra achar o erro que deveria estar retornando e era pq o arquivo era protegido.

Pois bem. Obrigadao pra galera q me ajudou.

Criado 7 de julho de 2004
Ultima resposta 8 de jul. de 2004
Respostas 5
Participantes 4