【发布时间】:2012-04-06 00:04:39
【问题描述】:
我想从 Eclipse 打开任意文件。目前我正在这样做:
if (((File) selectedElement).isFile()) {
try {
Desktop.getDesktop().open((File) selectedElement);
} catch (IOException e) {
//TODO prompt for the appropriate application to open this file.
e.printStackTrace();
}
}
不幸的是,这仅适用于操作系统具有与文件类型关联的默认应用程序的情况。这就是为什么,如果没有定义任何默认应用程序,我想问用户我应该使用哪个应用程序。但我不知道如何 1)找到可用应用程序的列表和 2)使用该应用程序打开文件。任何提示如何以独立于平台的方式实现它?
【问题讨论】:
-
您的意思是“来自 Eclipse”吗,例如,这是一个 RCP 应用程序或插件;还是您只是说 Eclipse 是您的 IDE?因为首先使用 Desktop.open() 并不是 Eclipse 的方式。
-
我正在写一个插件。该插件可以浏览操作系统的所有文件。现在,如果文件不是文本文件或 java 文件,我想用操作系统中的默认应用程序打开文件。例如带有 MS Word 的 docx 文档。只要文件类型与操作系统中的应用程序相关联,它就可以工作。如果文件类型在操作系统中还没有默认应用程序,我的方法会失败,我想询问用户我应该使用哪个应用程序。但我不知道我该怎么做。
标签: java eclipse eclipse-plugin