繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM