我想编写一个Java类(或方法),其职责是在任何平台上调用标准/默认应用程序,以打开和处理特定格式的文件,例如PDF,DOCX,XLSX,JPG等,以及知道是否没有适合该文件格式的应用程序。
是否有一种很好的跨平台方法?
答案 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!");
}
}