如何使用我的java程序实现打开文件?

时间:2012-06-03 21:47:06

标签: java file file-io drag-and-drop

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

只要我发现你无法将它拖到.jar上,因为它不可执行。你必须创建一个.exe,它也打开你的.jar,但就是这样!我真的很想知道:)

如果我可以通过搜索此关键字获得答案,那么关键字就足够了。

谢谢,Leander

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

我不知道这个代码是怎么回事,我甚至不知道如何谷歌这个(我只是得到问题如何实现“打开方式”与答案Desktop.open(文件F))。

3 个答案:

答案 0 :(得分:4)

仅适用于Windows:

选项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]);
    }

}

答案 1 :(得分:0)

开始阅读的地方是JDK 6 documentation on Drag and Drop。或者您可以直接使用Drag and Drop tutorials

如果要创建一个桌面图标,当您删除文件时,该图标将打开您的应用程序,这取决于操作系统。我认为Launch4j会支持这一点,尽管我没有以这种方式使用它。

答案 2 :(得分:0)

在窗口中,您可以创建.bat文件,如果您在该文件上使用DnD,则将文件名设为fisrt参数

所以代码

echo %1
pause

将文件名写出来,这样就可以启动java程序,如

java -jar myApp.jar MyAppClass %1