使用java运行exe文件并为其提供输入
我有一个exe文件,比如说使用java运行exe文件并为其提供输入,java,exe,processbuilder,Java,Exe,Processbuilder,我有一个exe文件,比如说Factorial.exe 当我运行它时,它需要n并计算n。无法将程序更改为作为命令行参数传递n 我知道如何使用ProcessBuilder来运行它,但我不知道如何为它提供输入。我认为其中一个选项是使用重定向,因此我们有: Factorial.exe < input.txt Factorial.exe
Factorial.exe
当我运行它时,它需要n
并计算n代码>。无法将程序更改为作为命令行参数传递n
我知道如何使用ProcessBuilder来运行它,但我不知道如何为它提供输入。我认为其中一个选项是使用重定向,因此我们有:
Factorial.exe < input.txt
Factorial.exe
在input.txt中只有一个数字
但我不能简单地打电话
ProcessBuilder builder = new ProcessBuilder("Factorial.exe < input.txt");
ProcessBuilder=newprocessbuilder(“Factorial.exe
或
ProcessBuilder=newprocessbuilder(“Factorial.exe”,“input.txt”);
作为ProcessBuilder的输入
我找到了一种方法,但我不能称之为答案,这只是一种方法。
我使用适当的输入创建input.txt文件。
我使用ProcessBuilder通过以下命令调用批处理文件:
Factorial.exe
这使它能够工作,我将使用它,但我仍然好奇是否有更好的方法。只需将参数添加到ProcessBuilder构造函数中:
new ProcessBuilder("Factorial.exe","5").start();
像这样的?不,在这个问题中,用户将输入文件提供给java程序。我想使用javax为exe文件提供输入文件。您的factorial.exe是否正在等待某个事件(例如,按下enter按钮)?
new ProcessBuilder("Factorial.exe","5").start();