Uma solução mais multiplataforma para esta situação seria utilizar a classe Desktop
File file = new File("/caminho/nomeDoArquivo.ppt"); // arquivo a ser aberto
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop(); // recebe uma instância da classe Desktop referente ao seu sistema
desktop.open(file); // abre o arquivo
}
ViniciusLM
Eric Yuzo:
Uma solução mais multiplataforma para esta situação seria utilizar a classe Desktop
File file = new File("/caminho/nomeDoArquivo.ppt"); // arquivo a ser aberto
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop(); // recebe uma instância da classe Desktop referente ao seu sistema
desktop.open(file); // abre o arquivo
}
:thumbup:
Muito melhor a utilização dessa classe Eric, o Runtime é muito cheio de frescura, vou implementar essa classe nos meus projetos de agora em diante, até porque pelo pouco que eu vi o Desktop se sai muito melhor na interação com o Linux.
Só um detalhe, não consegui fazer funcionar assim.
Sua correção não faz o menor sentido. No Java, os dois códigos são totalmente equivalentes.
Assim deveria funcionar também:
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().open(new File("/caminho/nomeDoArquivo.ppt"));
}
ViniciusLM
ViniGodoy:
Sua correção não faz o menor sentido. No Java, os dois códigos são totalmente equivalentes.
Assim deveria funcionar também:
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().open(new File("/caminho/nomeDoArquivo.ppt"));
}
Quando utilzei o Runtime nao poderia ter espaço no endereço, e tive alguns problemas onde eu apontei o arquivo e ele deu problema de que não tinha permissão para executar esse arquivo, o problema de permissão tive no Linux, ja com o Desktop não encontrei esses problemas.
Assim funcionou mesmo
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().open(new File("/caminho/nomeDoArquivo.ppt"));
}
ViniGodoy
Não estava falando em relação ao Runtime, mas sim em relação aos dois códigos que você postou no tópico anterior usando Desktop. Para o Java, fazer:
Ah, eu também achei estranho… perai…
Achei o que tava dando de errado…
Desktopdesktop=newDesktop.getDesktop();
Nossa como aquele new foi parar ali :XD:
ViniGodoy
Ops, vivo fazendo dessas também, rs.
R
RodrigoM91
Antes de encerra o tópico, gostaria de tirar mais uma duvida !
Essa condição isDesktopSupported() não entendi o porque dela, utilizei no meu código sem essa condição e funcionou perfeitamente, o porque devo utiliza-la ?