[英]Run exe file using java and giving input to it
我有一个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 <input.txt
这使它可以工作,我要使用它,但是我仍然很好奇知道还有什么更好的方法。
只需将参数添加到ProcessBuilder-Constructor即可:
new ProcessBuilder("Factorial.exe","5").start();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.