在Java应用程序中使用文件关联

时间:2010-01-11 16:10:34

标签: java file-association

我正在编写一个基于Swing的跨平台应用程序,我希望利用已在操作系统中注册的文件关联。

因此,我可以点击文件并加载我的应用程序,但我需要知道的是如何让我的应用程序知道启动它的文件的位置,然后查询内容。< / p>

我是否还需要进行文件关联注册?或者Java可以为我做这个吗?

5 个答案:

答案 0 :(得分:5)

我不是肯定的,但我希望您通过文件点击处理的文件名最终会出现在main()方法的参数中。你试过/检查了吗?

答案 1 :(得分:2)

如果这是在Windows上(您没有指定):

在注册表中,无论您为注册到的文件类型指定了应用程序路径,请添加到"%1"。这是Windows将使用单击的文件的路径填充的特殊参数。因此,您的注册表项看起来像c:\path\to\app.exe "%1"

答案 2 :(得分:1)

执行此操作的一种方法是让文件关联通过脚本或批处理文件运行Java应用程序,并让批处理文件将文件的路径名作为命令行参数,环境变量或Java属性传递。

答案 3 :(得分:1)

扩展可以链接到应用程序,您可以在安装期间设置注册表项。您需要哪些密钥在此处记录:

http://support.microsoft.com/?scid=kb%3Ben-us%3B185453&x=6&y=11

从java中,您无法直接访问Windows注册表。 使用Runtime你可以做类似的事情 http://www.rgagnon.com/javadetails/java-0480.html

答案 4 :(得分:1)

Windows上有两个命令可以帮助,关联和ftype,这样你就不需要做脏衣服来操纵注册表了。使用java.lang.Process调用命令。 http://www.rgagnon.com/javadetails/java-0592.html