我是一名Java开发人员,我有一个新问题。我想用另一个程序打开一个文件。我可以使用此代码轻松地使用java.awt.Desktop
类:
public static void open(File document) throws IOException {
Desktop dt = Desktop.getDesktop();
dt.open(document);
}
但有没有办法选择用于打开文件的程序?我的程序仅适用于Ubuntu。我想要一个列表,其中包含可以打开该文件的所有常规程序(右键单击该文件即可看到所有选项)。如果它是一个可执行文件,它应该只执行。这可能与Java有关吗?如果不是,用C ++可以吗?
答案 0 :(得分:0)
这可能,但可能不像使用Desktop API那么容易,因为它可能只是调用xdg-open
。
由于桌面API几乎肯定会调用xdg-open
(正如大多数设计精良的程序所做的那样),您可以通过将桌面设置为{{1}来实现您想要的效果。为你做对了。
如果这还不够,xdg-open
使用平台工具完成工作,请回到xdg-open
。这会读取xdg-mime
个文件。你可以做同样的事情......