Abrir Adobe pela extencao do arquivo

4 respostas
C

Ola galera.
eu estou criando um arquivo pdf no java, mas para abrir o arquivo tenho que sair do programa e abrir ele pelo file explorer.

Tem Alguma forma de eu abrir o adobe setando apenas a extensao do arquivo.

ja tentei Runtime.exe(“file.pdf”) mas nao da certo.

4 Respostas

T

Runtime.exec só funciona se o arquivo for .exe ou .com; nem para .bat ou .cmd funciona.
Para iniciar um arquivo .pdf:

Java 6.0 -> use a classe java.awt.Desktop:

/** ATENÇÃO - REQUER JAVA 6.0 OU POSTERIOR */
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;

class TesteDesktop {
    public static void main(String[] args) throws IOException {
        Desktop.getDesktop().open (new File ("teste.pdf"));
    }
}

Antes do Java 6.0 -> use Runtime.exec mesmo, mas com o comando "start" :
Runtime.getRuntime().exec (new String[]{"cmd.exe", "/c", "start", "teste.pdf"});

S
Runtime.getRuntime().exec("C:\ok.pdf");
Pedrosa
Desktop.getDesktop().open (new File ("arquivo.pdf"));

thingol, com esse método estou 100% portável?

T

Bom, preciso testar isso em um Linux para ter certeza disso.
Olhando o código-fonte do JDK, no caso do Linux e Solaris, dá a impressão que ele chama a API do Gnome “gnome_url_show” (no Windows ele chama “ShellExecuteW”).
Isso quer dizer que se você tiver um Linux que não tem absolutamente nada do Gnome instalado, você não vai conseguir fazer isso rodar.

Criado 31 de outubro de 2007
Ultima resposta 31 de out. de 2007
Respostas 4
Participantes 4