0

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

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

  }
}

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

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

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

4

2 回答 2

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();

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

于 2013-01-04T15:43:22.110 回答
1

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

class ShowTheNameOfTheFile{
    static public void main(String[] argv) {
        System.out.println(Arrays.toString(argv));
    }
}
于 2013-01-04T15:30:51.133 回答