我有一个exe文件,比如Factorial.exe
。
当我运行它时,需要n
并计算n!
。无法将程序更改为将n
作为命令行参数传递。
我知道如何使用ProcessBuilder运行它,但我不知道如何为它提供输入。我认为其中一个选项是使用重定向,所以我们有:
Factorial.exe < input.txt
input.txt 中有一个数字。
但我不能简单地致电
ProcessBuilder builder = new ProcessBuilder("Factorial.exe < input.txt");
或
ProcessBuilder builder = new ProcessBuilder("Factorial.exe"," < input.txt");
作为ProcessBuilder的输入。
我找到了一种方法来做到这一点,但我不能称之为答案它只是一种方法。 我使用适当的输入创建input.txt文件。 我用这个命令使用ProcessBuilder调用批处理文件: Factorial.exe&lt; input.txt中
这使它工作,我会用它,但我仍然很想知道有没有更好的方法。
答案 0 :(得分:0)
只需将参数添加到ProcessBuilder-Constructor:
new ProcessBuilder("Factorial.exe","5").start();