Que legal né, isto funciona que é uma beleza.
No entanto, e se meu AcroRd32.exe estiver instalado em outro local diferente disto?
Na verdade eu queria automatizar, passando o parâmetro “C:\meu_arquivo.pdf”, e deixar que um método qualquer LOCALIZE o executável, independente de qual computador esteja, ou qual local onde o AcroRd32.exe esteja instalado.
Eu cheguei a fazer isto, mas tenho até vergonha de mostrar o código, com vários new File espalhados e um monte de listas de diretórios. Será que não tem algum código no java que LOCALIZE arquivos sem passar por isto?
Obrigado a todos.
É isto mesmo, o SO saberia qual executável seria disparado.
A questão é que não tenho idéia em que classe do java eu vou buscar isto!
Espero que alguém aí já tenha feito isto e possa me ajudar.
Obrigado.
Não, de jeito nenhum! Assim não funciona porque você tem de especificar qual aplicativo irá abrir o arquivo.
A exceção gerada aqui é: java.io.IOExecption “…não é um aplicativo Win32 válido…”
[code]try { //Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+ “C:\manual.pdf”); //executa o arquivo no reader //Runtime.getRuntime().exec("cmd /c start acrord32 " +“C:\manual.pdf”); //executa o arquivo no reader //Runtime.getRuntime().exec("cmd /c start acrobat " +“C:\manual.pdf”); //executa o arquivo no acrobat
Runtime.getRuntime().exec("cmd /c start winword " +“D:\manual.doc”); //executa um documento word
//… e por aí vai
} catch (IOException e) {
e.printStackTrace();
} [/code]
Mas só executa em Windows versão XP em diante (mas e daí? será que alguém ainda usa win98?)
Está resolvido mas ainda prevalece a dúvida: qual a melhor maneira de LOCALIZAR UM ARQUIVO NO SISTEMA OPERACIONAL (não de forma manual, e sim automática, como no Explorador de Arquivos do Windos: digito o nome do arquivo e mando localizar)?