Método -> Runtime.getRuntime().exec("")

2 respostas
J

Esse método recebe como parametro uma string com o caminho do arquivo. Logo depois ele executa esse arquivo.
Até ai beleza.

String arquivo = “C:\TESTE.DOC”;
Runtime.getRuntime().exec("cmd /c "+arquivo);

Mas o problema e que quando pego um arquivo que esta na pasta por exemplo c:\arquivos de programas\acessórios\paint.exe ele não executa.
Só tá executando se o arquivo tiver no C:\ ou C:\WINDOWS , se eu entro em mais pastas ele não executa o arquivo.

Alguem sabe porque isso acontece???!!

2 Respostas

J

voce esta passando os enderecos com espacos? tipo “Arquivos de programas” ?? nao pode passar esses espacos no meio, pelo menos no windows voce tem que colocar a expressao entre aspas " " ou usar o caractere especial para representar o espaço (acho que eh o ‘%20’) ou passar o endereco reduzido, que sao as 6 primeiras letras da palavra + ~1:

espero que funcione

J
String comando = C:\Arquivos de Programas\xxx.doc;

try {

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+comando);

} catch (IOException e) {

e.printStackTrace();

}

[/code]

Consegui, agora deu certo !!
Valeu !!

Criado 21 de junho de 2005
Ultima resposta 22 de jun. de 2005
Respostas 2
Participantes 2