我有这个简单的程序,什么都不做:
class ShowTheNameOfTheFile{
static public void main(String[] argv){
}
}
我将其编译为ShowTheNameOfTheFile.jar并配置我的Windows机器以打开所有txt文件。
现在,当我点击一个txt文件时,它将打开我的ShowTheNameOfTheFile.jar程序。
在java中,我怎么知道用txt文件打开了ShowTheNameOfTheFile应用程序?
答案 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));
}
}