我想弄清楚如何打开给定文件的系统首选编辑器。如何打开给定文件的用户系统首选编辑器?
说,我们有一个文件管理器,用Java编写。用户转到文件夹并看到文件列表。例如,有一个文件Icon.jpg
。用户双击文件名并在系统首选编辑器(即GIMP)中打开文件。主要问题是 - 如何做到这一点?
我们可以做Runtime.getRuntime().exec("something file")
,但这种方式你应该知道哪个程序是用户环境中的首选。但是如何?
我们也可以做Desktop.getDesktop().edit(File file)
,但这种方式我们无法跟踪进程,并且无法知道这个子进程是关闭的。其他问题 - 函数在linux上不起作用(至少在Ubuntu 8.10上)。还有Desktop.getDesktop().open(File file)
,但它强制打开文件查看器,而不是该文件类型的系统查看器。
我正在寻找解决方案整个星期,但没有得到任何合适的和通用的。你知道这个问题的其他方法吗?对于我的项目来说,如果它能在Windows + Linux + Mac上运行就足够了。
谢谢你的回答和建议。
于2009-02-08 23:04
其他建议编辑:我可以强制“应用程序选择”窗口,在Windows和Linux中,如Mac上“打开文件”?例如,你试图打开文件,你被要求从系统首选列表中选择应用程序? (就像在Windows资源管理器中“打开...”一样)。你知道吗?
其他建议:我可以强制在Windows和Linux中的“应用程序选择”窗口,在Mac吗?例如,然后你试图打开文件,那么你被要求从系统预定义列表中选择应用程序的选择? (就像在Windows资源管理器中“打开...”)。 你知道吗? – 2009-02-08 21:53:26