2012-12-09 43 views
0

我想在Java中運行python命令。如何使用Java Process運行python pipe命令?

命令的格式如下:

python abc.py TAG < xyz.txt 

當我使用Java的過程:

Process p=Runtime.getRuntime().exec("python abc.py TAG < xyz.txt"); 

我得到一個不正確的說法錯誤,因爲< xyz.txt被解釋爲參數abc.py爲與管道xyz.txt的終端含義相反。

有沒有什麼辦法可以運行具有管道功能的java命令?

回答

2

exec()不涉及shell。你不能做那樣的事情。

您可能需要exec()殼有如你想它運行Python進程,或者你需要exec()蟒蛇過程中,打開並閱讀該文件xyz.txt與Java,然後將數據發送到exec'd process'standard in(您可以從Process對象獲得該流)。