能够将Java应用程序设置为默认文件打开器吗?

时间:2012-05-06 19:56:20

标签: java file set default file-association

我一直在寻找一种方法让用户将我的程序设置为默认打开文件一段时间,什么也没找到。我有一个应该是Mac,Windows和Linux通用的程序,所以我不想使用只适用于一个操作系统的方法。那么如何让用户能够将Java应用程序设置为默认的文件打开器?我会使用Desktop类吗?

2 个答案:

答案 0 :(得分:0)

没有Java不支持这一点。你必须为你想用它的母语(c ++,objective c等)支持的每个操作系统编写一个小应用程序,它只需在打开时启动你的java应用程序。然后,您可以将该应用程序设置为默认程序。

答案 1 :(得分:0)

这是在stackoverflow上回答的: Use a Java application as the Default Program for a particular file type?

引用答案:

  

JAR文件通常不可执行。也就是说,JAR文件不是有效的Windows应用程序。 JAR扩展本身是否有与之关联的默认应用程序并不重要,因为在其他“开放动词”定义中不会递归使用“开放动词”。

     

相反,

     
      
  1. 创建一个批处理(“.BAT”)文件(或小型EXE包装器),它调用java(或javaw,视情况而定)并将该可执行包装器用作“打开方式”程序。 (如果使用批处理文件,这将有一个烦人的中间控制台窗口。)或者,
  2.   
  3. 修改注册表,以便扩展的“Open verb”通过java(或javaw)启动JAR。   最后,任何一种形式应该类似于:javaw -jar TheJarFile.jar“%1%”。 (请注意,javaw是可执行文件,而TheJarFile.jar不是可执行文件。)
  4.         

    参见java - Java应用程序启动器,了解如何使用java / javaw。

Windows就是这种情况。类似地,在Linux和Mac上,您必须创建一个打开文件的本机应用程序包装器,并将文件的路径作为参数传递给Java jar并运行jar。