gpt4 book ai didi

java - Windows 中缺少 Java 进程的命令行输出

转载 作者:行者123 更新时间:2023-11-29 09:15:08 25 4
gpt4 key购买 nike

我有一些使用 Java apache exec 类来运行外部进程的简单代码。

  Executor ex = new DefaultExecutor();
ex.setStreamHandler(new PumpStreamHandler(System.out, System.out, System.in));
CommandLine cl = new CommandLine(
"C:\\program.exe");

ex.execute(cl);

对于某些命令行程序,这会按预期工作,并将程序的所有输出都放入“out”流中,同时将我自己的文本接受到“in”流中。但是,对于其他程序,进程的输出是可见的,从命令行手动运行,但是当我通过 java 进程运行时,我没有得到任何东西。

我想最终写入标准输入并在代码本身中检索和分析标准输出。

如果有我不知道的原因,为什么有些程序似乎在命令行上输出文本,但当我将它们作为 java 进程运行时,我却没有通过流接收到任何东西?

这发生在 Windows 中。

最佳答案

进程外代码不会转到相同的命令行输出,除非您明确配置它这样做。此外,作为一般规则,最好使用像 log4j 这样的日志库而不是执行 println 语句。

关于java - Windows 中缺少 Java 进程的命令行输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com