如果标题相当混乱,但我想知道是否有可能获取将应用程序导入到另一个应用程序的标准输出。将管道应用程序的控制台文本捕获到另一个应用程序
这里是命令行。
sox -d -t wav - | lame - test.mp3
如果这是在bash中执行的,这是输出。
Input File : '/dev/dsp' (ossdsp)
Channels : 2
Sample Rate : 48000
Precision : 16-bit
Sample Encoding: 16-bit Signed Integer PCM
In:0.00% 00:00:25.00 [00:00:00.00] Out:1.20M [ -|=- ] Clip:0
最后一行由sox更新,直到用户发送SIGINT。
问题是,在java中,该进程的InputStream不会产生任何数据。但是,如果我省略sox的管道以防止跛行,则InputStream将获取数据。我的问题是,控制台发生了什么事?我怎样才能访问它。
你是如何使用Java来执行这个命令的? '的Runtime.exec()'? 'ProcessBuilder'? – 2010-02-28 13:32:02