如何向流程构建器提供输入

时间:2018-04-21 09:01:21

标签: java python io inputstream user-input

在我的程序中,我正在使用Processbuilder运行命令。

该命令实际上是执行python脚本。无论脚本打印如何,我只是通过打印输入流将其显示在控制台中。

问题是,在python脚本中有一个if条件,条件除了是或否以继续脚本。

我不知道如何输入Yes或No in-process builder。

请帮我解决问题。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用inheritIO()。 使用此选项,您可以将java控制台用作python程序的stdio。您的Java程序将运行用于Java和python程序的python代码和控制台,因此您可以通过Java控制台进行输入。

ProcessBuilder test = new ProcessBuilder("python", PATH_OF_YOUR_PY_PROGRAM); 
test.inheritIO(); 
Process process = test.start(); 
process.waitFor();

注意:inheritIO()使用控制台进行输入和输出,因此通过激活此选项,整个python输出也将在Java控制台中打印。