【问题标题】:Open With... a java program打开方式...一个java程序
【发布时间】:2012-08-28 13:27:15
【问题描述】:

我想知道如何制作一个可以用来打开东西的java程序。例如:notepad++,win zip....我是否先将 jar 转换为.exe?另外,选择的文件是否会传递给String[] args

顺便说一句,我知道它可以与 cmd 一起使用,但这不是我要问的。

【问题讨论】:

  • 如果你从命令行指定程序,那么它应该被传递给 args
  • 选择的文件可以通过命令行传递给String[] args
  • java.lang.Runtime.exec
  • 我认为 OP 想要更改他的 jar,以便操作系统在“打开方式”对话框中识别它。
  • 我知道,但我要问的是它是否通过 winodws 文件选择器传递?

标签: java windows file


【解决方案1】:

取决于操作系统。在windows下,你需要在注册表中附加一些细节。

Utilising a file association in a Java application 中的第三个答案为例?

你也可以看看http://www.rgagnon.com/javadetails/java-0592.html

更新

另外,当操作系统执行程序时,您应该通过main 方法将文件作为命令行参数接收

我不知道这是否适合您的需求,但您也可以看看File association in Mac

【讨论】:

  • 最后链接到您的一篇帖子;)
  • 哦!我可以用“我刚醒来”的借口吗?
  • 其实有点晦涩,所以我想我们可以原谅你;)
【解决方案2】:

关于如何使 Java 程序可运行有很多选择。就像你提到的,最简单的选择是使用命令行。如果您想让它与大多数操作系统的 GUI 界面(以及“打开方式”对话框)一起使用,最简单的选择是创建 executable jar。 IDE 可以让您轻松完成这项工作,在 Eclipse 中,只需右键单击项目并选择 Export > Java > Runnable JAR file。

另一个很好的选择是将您的应用程序变成Java Web Start 应用程序,让用户可以轻松运行在线提供的 Java 程序。

或者,就像您提到的那样,您可以将其转换为 .exe 文件:

【讨论】:

  • +1 用于 JWS。对于任何带有 GUI 的 Java 来说,这似乎是显而易见的答案。 ..做应用程序。没有 GUI 的情况下是否曾声明文件关联?
【解决方案3】:

部署应用。使用Java Web Start

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

这是一个demo. of the file services 在其中的应用程序。与文件类型.zzz相关联。

..它是通过 windows 文件选择器传递的吗?

没有。它以-open filename-print filename 的形式传递给main。什么应用程序。对这些字符串的处理取决于它。演示。上面的链接会在沙盒版本中提示用户,仅仅是因为它是沙盒版本。另一个应该可以在不显示提示或对话框的情况下工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-16
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多