Pergunta

Esta questão já tem uma resposta aqui:

Como você abre um arquivo de um aplicativo java quando você não sabe qual aplicativo o arquivo está associado. Além disso, porque eu estou usando Java, eu prefiro uma solução independente de plataforma.

Foi útil?

Solução

Com JDK1.6, o java.awt.Desktop classe pode ser útil.

public static void open(File document) throws IOException {
    Desktop dt = Desktop.getDesktop();
    dt.open(document);
}

Outras dicas

File file
Desktop.getDesktop().open( file );

Desde Java 1.6

Antes disso você poderia verificar esta questão

Resumo

Seria algo parecido com isto:

Runtime.getRuntime().exec( getCommand( file ) );

public String getCommand( String file ){ 
    // Depending on the platform could be
    //String.format("gnome-open %s", fileName)
    //String.format("open %s", fileName)
    //String.format("cmd /c start %s", fileName)
    // etc. 
}

Você poderia cortar alguma coisa juntos com um arquivo bat no Windows e equivalente no Unix, mas isso não seria tão divertido.

Eu acho que sua melhor aposta seria a JDesktop Componentes de Integração (JDIC) . Em particular, o desktop classe tem exatamente o método que você está procurando.

EDIT: Aparentemente, eu sou para trás os tempos porque este foi integrado Java 1.6. Em qualquer caso, se você estiver trabalhando em uma Java anteriormente, ele ainda pode ser útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top