Mac中的文件关联

时间:2012-02-01 13:58:33

标签: java macos arguments file-association

从这里寻求帮助,我们现在可以从jar文件创建一个Mac应用程序,并将该应用程序与某个文件扩展名相关联。

当双击具有该扩展名的文件时,它将在该应用程序中打开,并最终在嵌入式Java应用程序中打开。

但是我们需要将选定的文件路径作为java应用程序main方法的参数。 我们怎样才能做到这一点。 对于我们使用的文件类型关联

defaults write com.apple.LaunchServices LSHandlers -array-add 

<dict>
  <key>LSHandlerContentTag</key>
  <string>PUT_FILE_EXTENSION_HERE_WITHOUT_PERIOD</string>
  <key>LSHandlerContentTagClass</key>
  <string>public.filename-extension</string>
  <key>LSHandlerRoleAll</key>
  <string>org.category.program</string>
</dict>

有变化。

Info.plist文件是否应该有任何更改?

2 个答案:

答案 0 :(得分:1)

使用Java Web Start声明对该文件类型的兴趣。这是一个demo of the JNLP file services,它将.zzz文件类型与应用相关联。这种方法适用于OS X(&amp; Windows,&amp; * nix)。

答案 1 :(得分:0)

Apple提供了一些特定的类,可以让您更好地将Java应用程序整合到Mac OS X中.Google用于“Apple Java eawt”,或者尝试以下链接:http://developer.apple.com/library/mac/documentation/Java/Reference/JavaSE6_AppleExtensionsRef/api/com/apple/eawt/package-summary.html。特别注意Application-和ApplicationAdapter-Class(代表他们未弃用的部分)。您可以注册特殊的侦听器以获取有关应该打开的文件的信息。