java - 如何使 Java 应用程序能够直接打开文件。例如右键单击文件或目录并能够单击 "open with mytool"

标签 java deployment operating-system integration file-association

我有一个关于 Java 应用程序及其与整个操作系统(Windows、Linux 和 Mac)的交互的一般性问题。

如果我有一个目录,其中包含与特定应用程序相关的一组特定文件,是否可以将上下文项添加到操作系统菜单,这将允许用户直接使用 my Java 应用程序?

我一直在努力寻找这个问题的答案,但没有找到任何相关的东西。

谢谢!

最佳答案

使用Java Web Start部署应用程序。它提供了许多不错的功能,包括注册对文件类型的兴趣(在 JNLP 启动文件中)。有一个演示。这在 JNLP file API example ,应用程序所在的位置。注册对..感兴趣

..file extension .zzz (simply a file type unlikely to clash with existing file associations) of content type text/sleepytime.

试试沙盒版本,它实际上会提示用户是否进行文件关联。在受信任的应用程序中,它会简单地继续并尝试完成。

您还可以使用 IntegrationService 在程序中控制文件类型关联(我没有时间试验该服务,因此还没有演示。)。

使用 JWS 建立文件关联应该适用于 Windows、*nix 和 OS X。

关于java - 如何使 Java 应用程序能够直接打开文件。例如右键单击文件或目录并能够单击 "open with mytool",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9532520/

相关文章:

java - 可扩展 ListView setOnChildClickListener 的问题

java - 有 2 个项目的 Eclipse WAR?

sql-server - 如何将自定义桌面应用程序数据库安装到 SQL Express?

deployment - 为什么 move 任务不 move 符号链接(symbolic link)?

你能在 Linux 中手动分配虚拟页面吗?

java - HADOOP HTTPFS : giving error "User: ubuntu is not allowed to impersonate ubuntu" while accessing the application through Http

java - 学习 Java 并陷入如何从 foreach 循环中的元素创建数组的问题

c# - 如何在 Windows Azure 中部署 WCF

c - 如何在linux中找到一个函数的实现?

c++ - 在 C 编译器中,指针的大小始终等于 int 的大小。这是正确的吗?