Существует ли в Java независимый от платформы код для вызова приложения по умолчанию для просмотра типов документов, таких как PDF, DOCX, JPEG и т. Д.? - PullRequest
0 голосов
/ 27 декабря 2018

Я хотел бы написать класс (или метод) Java, в обязанности которого входит запуск стандартного / стандартного приложения на любой платформе для открытия и обработки файлов определенных форматов, таких как PDF, DOCX, XLSX, JPG и т. Д., А также длязнать, нет ли подходящего приложения для этого формата файла.

Есть ли хороший кроссплатформенный способ сделать это?

1 Ответ

0 голосов
/ 28 декабря 2018

Если честно ... ответ не является большим секретом, ведь класс Desktop существует с Java 1.6.

Чтобы открыть файл с его ассоциативным приложением (т.е.: .docx с MS WORD или любым приложением, связанным с файлом), затем вы можете использовать метод Desktop.getDesktop (). Open () ,Этот метод должен идти рука об руку с Desktop.isDesktopSupported () , чтобы гарантировать, что класс рабочего стола поддерживается на текущей платформе.Вот небольшой метод, чтобы продемонстрировать использование вышеупомянутых методов класса рабочего стола:

public void runFile (String filePath) throws IOException {
    File myFile = new File(filePath);
    //Test whether the Desktop class is supported on the current platform.
    if (Desktop.isDesktopSupported()) {
        // Open the file in its associated application:
        Desktop.getDesktop().open(myFile);
    }
    else {
        // Desktop Not Supported...
        System.err.println("runFile() method error! The Desktop Class " +
                           "is not supported on this platform!");
    }
}
...