11

我想从 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)使用该应用程序打开文件。任何提示如何以独立于平台的方式实现它?

4

2 回答 2

4

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

于 2012-04-07T19:28:10.030 回答
0

已经有另一个线程被标记为已解决,请查看:Open WITH dialog in Java

于 2012-04-19T00:44:51.100 回答