代码之家  ›  专栏  ›  技术社区  ›  Dan TheCodeJunkie

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

  •  3
  • Dan TheCodeJunkie  · 技术社区  · 15 年前

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

    所以我到了可以点击一个文件并加载我的应用程序的地方,但我需要知道的是如何让我的应用程序知道启动它的文件在哪里,然后查询内容。

    我是否需要进一步处理文件关联注册?或者Java能为我做到这一点?

    5 回复  |  直到 15 年前
        1
  •  5
  •   Carl Smotricz    15 年前

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

        2
  •  2
  •   Factor Mystic    15 年前

    如果在Windows上(未指定):

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

        3
  •  1
  •   Stephen C    15 年前

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

        4
  •  1
  •   stacker    15 年前

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

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

    从Java中,您无法直接访问Windows注册表。 使用运行时,您可以这样做 http://www.rgagnon.com/javadetails/java-0480.html

        5
  •  1
  •   wwh37    15 年前

    在Windows上有两个命令可以帮助您:assoc和ftype,这样您就不必做脏衣服来操作注册表了。使用java.lang.process调用命令。 http://www.rgagnon.com/javadetails/java-0592.html