Подтвердить что ты не робот

Откройте файл с внешним приложением на Java

Как открыть файл из java-приложения, когда вы не знаете, к какому приложению связан файл. Кроме того, поскольку я использую Java, я бы предпочел решение, независимое от платформы.

4b9b3361

Ответ 1

С JDK1.6 может оказаться полезным класс java.awt.Desktop.

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

Ответ 2

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

Так как Java 1.6

До этого вы могли проверить этот вопрос

Резюме

Он будет выглядеть примерно так:

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. 
}

Ответ 3

Вы можете взломать что-то вместе с файлом bat на Windows и эквивалентом в Unix, но это было бы не так весело.

Думаю, лучшим выбором будет Компоненты интеграции JDesktop (JDIC). В частности, класс Desktop имеет именно тот метод, который вы ищете.

EDIT: По-видимому, я отстаю от времени, потому что это интегрировано в Java 1.6. В любом случае, если вы работаете в более ранней версии Java, это может быть полезно.