【问题标题】:Eclipse: How to prompt user to choose an application to open a file with?Eclipse:如何提示用户选择一个应用程序来打开文件?
【发布时间】: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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      • 2016-11-10
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      相关资源
      最近更新 更多