Abra um arquivo com uma aplicação externa em Java [duplicado]
-
23-08-2019 - |
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.
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.