如何使用 .Jar (Java) 应用程序打开文件?

How To Open Files With .Jar (Java) Application?

这里是个棘手的问题。如何在 java 中打开文件,当您双击文件时它会自动在 java 应用程序中打开。

我正在制作一个音乐播放器(我的第一个真正的大型 Java 项目),但我不知道如何实现它。比方说,当您打开一个 .mp3 文件时,它将在您为它设置 select 的任何默认程序中打开(例如 VLC 媒体播放器或 Windows 媒体播放器)。我想要的是能够将我的应用程序的 .jar 文件设置为 .mp3 文件的默认程序,然后能够在应用程序中实际启动文件。

当我当前尝试使用该应用程序打开文件时,出现 windows 错误 "This app cannot be executed on your pc"。但是当我启动 .jar 本身而不是通过尝试打开 .mp3 文件时它运行得很好。

有谁知道如何实现我想要的吗?非常感谢!

---编辑---

我不是说你可以select一个默认的mp3文件程序。问题是 windows 抛出上面显示的错误,而且我不知道如何处理通过打开文件(由于错误而无法运行)启动的应用程序。

我认为问题在于您必须使用 .exe 打开文件,因此您应该使用 exe 包装器(我使用 jsmooth:download here

但是, 在您这样做之前,您需要接受该信息。因此,在主要的 class 中,"args" 是有关其启动方式的信息列表。如果你打开一个文件,数组的第一个参数将是打开文件的目的地。所以我会这样接受它:

   if (args.length > 0) {
       File f = new File(args[0]);
       start_the_application_with_a_file(f);
   } else {
       start_the_application_without_a_file();
   }

C:\ProgramData\Oracle\Java\javapath\java.exe -jar "C:\Program Files\YourApp.jar" %* 在批处理文件 (.cmd) 中可能会执行此操作。