Eclipse:如何提示用户选择要打开文件的应用程序?

11 java eclipse eclipse-plugin

我想从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();
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只有在操作系统具有与文件类型相关联的默认应用程序时才有效.这就是为什么,如果没有定义任何默认应用程序,我想问用户我应该使用哪个应用程序.但我不知道如何1)找到可用应用程序列表和2)打开该应用程序的文件.任何提示如何以独立于平台的方式实现它?

eab*_*ham 4

我能想到的任何解决方案都取决于操作系统。例如,如果您的应用程序在 Windows 中运行,您可以向用户提供Program Files文件夹中所有 *.exe 文件的列表。或者对于 Linux 操作系统,/bin、/sbin、/usr/bin、/usr/share/bin 中的所有应用程序。