Java是否有平台无关的代码来调用默认应用程序以查看诸如PDF,DOCX,JPEG等的文档类型?

时间:2018-12-27 03:54:11

标签: java pdf jpeg xlsx docx

我想编写一个Java类(或方法),其职责是在任何平台上调用标准/默认应用程序,以打开和处理特定格式的文件,例如PDF,DOCX,XLSX,JPG等,以及知道是否没有适合该文件格式的应用程序。

是否有一种很好的跨平台方法?

1 个答案:

答案 0 :(得分:3)

说实话...答案毕竟不是什么大秘密,毕竟 Desktop 类自Java 1.6起就出现了。

要使用其关联的应用程序打开文件(例如,使用 MS WORD .docx 或系统与该文件关联的任何应用程序),则可以使用{ {3}}方法。此方法应与Desktop.getDesktop().open()方法配合使用,以确保当前平台支持Desktop Class。这是一个演示上述桌面类方法的用法的小方法:

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!");
    }
}