检测用于运行Java的.txt文件

时间:2018-12-20 10:32:25

标签: java cmd wmic

我试图弄清楚如何获取用于运行Java脚本的文件的名称。我使用java Test < input.txt运行程序,但是当我尝试使用wmic获取java.exe的命令行时,我得到的输出仅为java Test。还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

在编写java Test < input.txt时,您要编写的shell将执行2个操作:首先,它读取input.txt的内容,其次,它启动带有参数“ Test”的java命令。 ”及其标准输入(stdin / System.in)中填充了input.txt的内容。

从启动命令的角度来看,从来没有< input.txt,在其标准输入中只有一些内容。

您也许可以在OS端做一些事情,例如在RHEL上,我可以按以下方式获取文件:

$ sleep 50 < /path/to/file &
[1] 18492
$ my_process_pid=$!
$ cat /proc/$my_process_pid/cmdline
sleep50                               # no signs of the redirection
$ readlink /proc/$my_process_pid/fd/0 # but we can check what stdin links to
/path/to/file

在我看来,检索文件名的最直接方法是强制用户将文件的位置作为参数传递,而不是使用重定向直接使用文件的内容。