如果標題相當混亂,但我想知道是否有可能獲取將應用程序導入到另一個應用程序的標準輸出。將管道應用程序的控制檯文本捕獲到另一個應用程序
這裏是命令行。
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