【发布时间】:2012-04-17 03:50:09
【问题描述】:
我有一些使用 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 中。
【问题讨论】:
-
也许你有这个问题的问题:stackoverflow.com/questions/27249101/…
标签: java process stream command