获取与文件java关联的应用程序



例如,我正在尝试获取文件的关联程序如果我有一个文件C:/foo/bar.example,我想得到什么程序打开.example(有点像Notepad.exe打开.txt文件(。

我尝试创建一个进程来使用runtime.exec("rundll32 url.dll,FileProtocolHandler C:/foo/bar.example")打开该文件但是没有办法使用Process来获得关联的应用程序。

这个例子展示了我试图在Windows中实现的目标,尽管我想要一些跨平台的东西。

我认为仅仅使用pureJava是不可能的。

我现在想到的唯一方法(使用Java(是使用JNA直接与Win32-API接口(注意这是用C编写的,而不是Java(。有关如何实现Win32-API-part,请参见此答案,有关如何使用JNA,请参见本链接。

最新更新