5

我有一个基本的、简单的、也许是愚蠢的问题,但是我如何实现可以将文件拖到我的 java 程序上并打开它?我为这个基本问题搜索了很久......

只要我发现您无法将其拖到 .jar 上,因为它不可执行。您必须创建一个 .exe,它也会打开您的 .jar,但仅此而已!我真的很想知道如何:)

如果我可以通过搜索这个关键字得到答案,一个关键字就足够了。

谢谢,利安德

//编辑:我可能表达的东西有点复杂。后来我想在桌面上有一个快捷方式,例如,我可以在快捷方式上拖动任何文件,并且程序打开文件(此时它将)只将它移动到一个特殊位置。

我不知道这个代码是怎样的,我什至不知道如何用谷歌搜索这个(我只得到问题如何用答案 Desktop.open(File f) 实现“打开方式”)。

4

3 回答 3

4

仅适用于窗户:

选项1:

将批处理文件放入 jar 文件的目录中(或任何您喜欢但需要调整路径的地方,您也可以从批处理文件中创建快捷方式)。

@ECHO OFF
start java -jar %~dp0MYAPP.jar %1

选项2:

  • 制作快捷方式(右键-新建-快捷方式)
  • 输入位置“java -jar C:\path\to\myapp.jar”

如果您的 jar 接受文件名作为参数,则拖放将起作用

public class Main {

    public static void main(String[] args) {
        if (args.length == 0)
            System.out.println("No arguments");
        else
            System.out.println("1st argument: " + args[0]);
    }

}
于 2012-06-03T22:26:44.543 回答
0

开始阅读的地方是有关拖放的 JDK 6 文档。或者,您可以直接从拖放教程开始。

如果您想创建一个桌面图标,当您在其上放置文件时将打开您的应用程序,这取决于操作系统。我认为Launch4j会支持这一点,虽然我没有以这种方式使用它。

于 2012-06-03T21:49:55.410 回答
0

在窗口上,您可以创建 .bat 文件,如果您对该文件进行 DnD,您将获得文件名作为第一个参数

所以代码

echo %1
pause

写出文件名,这样你就可以启动你的java程序了

java -jar myApp.jar MyAppClass %1
于 2012-06-03T22:22:46.217 回答