获取我刚刚用java应用程序打开的文件的路径(jar可执行文件)

时间:2013-01-04 15:03:33

标签: java windows

我有这个简单的程序,什么都不做:

class ShowTheNameOfTheFile{
  static public void main(String[] argv){

  }
}

我将其编译为ShowTheNameOfTheFile.jar并配置我的Windows机器以打开所有txt文件。

现在,当我点击一个txt文件时,它将打开我的ShowTheNameOfTheFile.jar程序。

在java中,我怎么知道用txt文件打开了ShowTheNameOfTheFile应用程序?

2 个答案:

答案 0 :(得分:2)

您可以参考Joop Eggen的代码。

问题在于,如果它是唯一的代码,并且您将此jar分配给Windows Open,它可能会在没有打印任何输出到任何控制台的情况下静默消亡,因为它不是从控制台启动的。

首先,从控制台尝试

java -jar ShowTheNameOfTheFile.jar 1 2 3

如果打印出数字,那么它可以正常工作。

然后添加类似的东西

Process Builder pb = new ProcessBuilder("cmd", "/c", "start", "echo", args[0]);
pb.start();

到你的代码,然后双击一个文件。

答案 1 :(得分:1)

命令行参数应该给出文件路径。

class ShowTheNameOfTheFile{
    static public void main(String[] argv) {
        System.out.println(Arrays.toString(argv));
    }
}