【问题标题】:How to associate a file with a program in java如何将文件与java中的程序相关联
【发布时间】:2012-09-01 10:58:32
【问题描述】:

以记事本为例。您可以使用记事本打开文件(右键单击并打开,如果文件已与记事本关联,则双击文件),它将显示文件的内容。我希望能够使用我正在编写的程序打开一个 xml 文件,以便它可以进行一些解析并提供所需的输出。在java中有哪些方法可以做到这一点?打开程序时,我是否必须要求将参数传递给程序?这在 C++ 或其他语言中会更容易吗?如果您需要任何进一步的信息,请告诉我——这是我能想出的描述我的情况的最佳方式,这可能就是我的谷歌搜索结果为空的原因。提前感谢您的帮助!

【问题讨论】:

  • 是windows吗?如果是这样,您只需要编辑注册表。除了将参数传递给 open 命令之外,这与任何操作系统上的 java 无关。

标签: java c++ user-interface file-io file-association


【解决方案1】:

您可以将扩展名与 java jar 相关联,文件名将作为args[0] 传递,没有比这更简单的了。我建议您使用“hello world”程序尝试一下。 ;)

【讨论】:

  • 如果您使用安装程序来安装程序,安装程序可能具有关联文件的注册表编辑功能。
  • @lbalazscs 如果它有 GUI,一种可能性来自 Oracle。 JWS。 ;)
【解决方案2】:

显示文件的内容..在java中有哪些方法可以做到这一点?

安装/启动应用程序。使用Java Web Start

Java Web Start (JWS) 是 Oracle Corporation 用于直接从网络或 Internet 链接启动富客户端(Swing、AWT、SWT)桌面应用程序的技术。它为支持 Java 的平台提供“一键式”安装。

JWS 提供了许多吸引人的功能,包括但不限于启动屏幕、桌面集成、文件关联、自动更新(包括延迟下载和对更新的编程控制)、本地分区和其他资源按平台、架构或 Java 版本下载,运行时环境配置(最低 J2SE 版本、运行时选项、RAM 等),使用扩展轻松管理公共资源..

这是一个demo. of the JNLP API file services(JWS 应用程序可用的 API。),它在启动文件的 .zzz 文件类型中注册了一个兴趣(声明关联)。也可以使用 JNLP API 的 IntegrationService 以编程方式完成关联。

【讨论】:

  • JWS 可能并非在所有情况下都可行...可以使用“传统”罐子中的 jnlp.jar 吗?换句话说,是否可以在没有 web/network 的情况下使用纯 Java 创建关联?
  • @lbalazscs “JWS 可能并非在所有情况下都可行。” 当然,但要注意.. “如果您使用的是安装程序”。 .您如何到达客户端计算机? 2个锡罐和一根绳子?有些计算机没有 Java(或安装它的用户权限),有些没有网络连接,有些没有磁盘驱动器。没有一种安装程序或部署方法适用于每个客户端或每个应用程序。但是网络上的 JWS 提供了良好的覆盖范围(以及许多附加功能)。
  • Andrew:问题可能不是技术问题,而是组织、心理或经济问题……安装人员是每个人都熟悉的解决方案。无论如何,你没有回答我的问题。这不是一种修辞,我想知道是否可以在没有 JWS 的情况下用纯 Java(可能使用 jnlp.jar)创建关联。
  • "..可以在没有 JWS 的情况下在纯 Java(可能使用 jnlp.jar)中创建关联。” 我对此表示怀疑。我从来没有想过如何从“裸”桌面应用程序访问任何 JNLP API 服务。此外,某些 JRE 安装可能不会将 JWS jar 命名为与 Oracle 命名相同的名称(以使直接访问变得棘手)。您为什么不以问题(而不是评论)的形式提出这个问题?
猜你喜欢
  • 1970-01-01
  • 2021-04-07
  • 2015-02-03
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
  • 2022-01-11
相关资源
最近更新 更多