使用外部程序打开外部文件

时间:2011-12-31 13:36:18

标签: java file

我是一名Java开发人员,我有一个新问题。我想用另一个程序打开一个文件。我可以使用此代码轻松地使用java.awt.Desktop类:

public static void open(File document) throws IOException {
    Desktop dt = Desktop.getDesktop();
    dt.open(document);
}

但有没有办法选择用于打开文件的程序?我的程序仅适用于Ubuntu。我想要一个列表,其中包含可以打开该文件的所有常规程序(右键单击该文件即可看到所有选项)。如果它是一个可执行文件,它应该只执行。这可能与Java有关吗?如果不是,用C ++可以吗?

1 个答案:

答案 0 :(得分:0)

这可能,但可能不像使用Desktop API那么容易,因为它可能只是调用xdg-open

由于桌面API几乎肯定会调用xdg-open(正如大多数设计精良的程序所做的那样),您可以通过将桌面设置为{{1}来实现您想要的效果。为你做对了。

如果这还不够,xdg-open使用平台工具完成工作,请回到xdg-open。这会读取xdg-mime个文件。你可以做同样的事情......