如何在Java代码中将mac中的文件类型关联起来?

时间:2012-01-23 05:58:52

标签: java

如何在java代码中将mac中的.vlan等文件类型关联起来?

Runtime.getRuntime().exec("defaults write com.apple.LaunchServices LSHandlers -array-add 
\"<dict><key>LSHandlerContentTag</key>
<string>.vlan</string><key>LSHandlerContentTagClass</key>
<string>public.filename-extension</string><key>LSHandlerRoleAll</key>
<string>org.category.program</string></dict>\"");

2 个答案:

答案 0 :(得分:1)

如果应用程序。有一个GUI,使用Java Web Start部署它,并在JNLP(启动)文件中声明文件扩展名/类型。这是一个demo. of the JNLP API file services,它应该能够将text/sleepytime内容类型的.zzz文件与(小)应用相关联。

支持在Windows上添加文件类型的关联,OS X &amp; * nix(适用于所有权限,以及沙盒应用。(后者提示))。

答案 1 :(得分:1)

试试这个:

Runtime.getRuntime().exec(
    new String[] {
        "defaults", 
        "write", 
        "com.apple.LaunchServices", 
        "LSHandlers", 
        "-array-add",   
        "<dict><key>LSHandlerContentTag</key><string>.vlan</string><key>LSHandlerContentTagClass</key><string>public.filename-extension</string><key>LSHandlerRoleAll</key><string>org.category.program</string></dict>"
    }
);

只是要补充一点,Runtime的执行官需要注意quite some pitfalls