Java 如何向process builder提供输入

Java 如何向process builder提供输入,java,python,io,inputstream,user-input,Java,Python,Io,Inputstream,User Input,在我的程序中,我使用Processbuilder运行一个命令 该命令实际上是执行python脚本。无论脚本是如何打印的,我只是通过打印输入流将其显示到控制台中 问题是,在python脚本中有一个if条件,该条件不包括继续脚本的Yes或No 我不知道如何在process builder中输入是或否 请帮我解决这个问题。最简单的方法是使用inheritaio()。 使用此选项,您可以将java控制台用作python程序的stdio。您的java程序将运行用于java和python程序的python代

在我的程序中,我使用Processbuilder运行一个命令

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

问题是,在python脚本中有一个if条件,该条件不包括继续脚本的Yes或No

我不知道如何在process builder中输入是或否


请帮我解决这个问题。

最简单的方法是使用
inheritaio()
。 使用此选项,您可以将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控制台中打印。

写入
进程的
输出流
@MadProgrammer如何做到这一点?您通常如何写入
输出流
?@MadProgrammer我尝试过它不起作用。@MadProgrammer实际上,inputstreams中的while循环在我必须为其提供输入的行之前停止。