我通常使用 java.lang.ProcessBuilder 和 java.lang.Process 来运行外部命令行程序,它适用于运行并完成的命令。例如,这将在工作目录中运行带有参数“myArg”的“myProgram”:
List<String> commandLine = new ArrayList<String>();
commandLine.add("myProgram");
commandLine.add("myArg");
ProcessBuilder builder = new ProcessBuilder(commandLine);
builder.redirectErrorStream(true);
Process process = builder.start();
但是,假设我想运行一个脚本或程序或具有交互式输入的东西(它提示我在启动后需要更多输入)。我可以在 Java 中使用与上述类似的代码来做到这一点,还是需要不同的方法?还是有一些图书馆可以帮助我解决这个问题?