2013-07-12 61 views
0

時獲得標準輸出或錯誤我想使用"which hoge"獲取Java代碼中的hoge路徑。想要在使用過程

當「霍格」存在

,可以通過Process#getInputStream.

但是當「霍格」不存在,從Process#get(Input|Error)Stream小號兩個輸入流和錯誤流給"null"獲得的路徑。

但在終端(OS X)中,如果我嘗試「哪些未提出」,我會得到「未找到未找到」。

信息「未找到未找到」在哪裏去?我怎樣才能得到這個?

Java使用另一個「哪個」?

+0

我想你可能需要通過shell執行命令 – MadProgrammer

回答

1

您的shell可能具有「which」作爲內置命令,因此它不使用/ bin/which程序。兩者之間可能有很多差異。您可以使用命令「type which」來檢查您使用的是哪一個,並使用該程序而不是使用/ bin/which的內置命令。

從Java,您可以通過檢查Process.waitFor()返回的進程退出狀態來知道是否找到了結果。如果狀態爲0,則發現匹配,如果非零,則不會或者存在其他錯誤。

+0

謝謝。你是對的。 「哪個」在終端上是一個內置的命令。 –

+0

,Java使用的是/ usr/bin /,它在hove不存在時不會說任何內容。 –