使用java运行exe文件并为其提供输入

时间:2015-01-23 10:47:27

标签: java exe processbuilder

我有一个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中

这使它工作,我会用它,但我仍然很想知道有没有更好的方法。

1 个答案:

答案 0 :(得分:0)

只需将参数添加到ProcessBuilder-Constructor:

new ProcessBuilder("Factorial.exe","5").start();