使用Java捕获命令行输出

使用Java捕获命令行输出,java,process,outputstream,Java,Process,Outputstream,它写道: Process process = Runtime.getRuntime().exec("C:/chess/h.exe"); Scanner scanner = new Scanner(process.getInputStream()); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(process.getOutputStream())); writer.write("uci"); while (tr

它写道:

Process process = Runtime.getRuntime().exec("C:/chess/h.exe");
Scanner scanner = new Scanner(process.getInputStream());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
writer.write("uci");
while (true) System.out.println(scanner.nextLine());
如果我在控制台中执行相同的操作,结果是


其他文本在哪里消失了?如何使用我的程序使其可见?

也尝试捕获错误输出,可能是h.exe程序只将“信息”消息打印到标准输出,其他所有信息都发送到错误输出

 Houdini 4 Pro x64 (c) 2013 Robert Houdart

 info string 4 processor(s) found info string NUMA configuration with 1
 node(s), offset 0 info string 128 MB Hash

问题是以书面形式提交给流程。以下是[解决方案][1][1]:
process.getErrorStream();