想要在使用Process时获得标准输出或错误

时间:2013-07-12 06:34:35

标签: java

我想使用"which hoge"来获取Java代码中的hoge路径。

当存在“hoge”时,可以通过Process#getInputStream.

获取路径

但是当“hoge”不存在时,来自Process#get(Input|Error)Stream的输入流和错误流都会给"null"

但是在终端(OS X)中,如果我尝试“哪个不存在”,我会得到“未找到未找到者”。

消息“未发现的未找到”在哪里?我怎么能得到这个?

Java是否使用了另一个“哪个”?

1 个答案:

答案 0 :(得分:1)

你的shell可能有#34;其中"作为内置命令,因此它不使用/ bin / which程序。两者之间可能存在许多差异。您可以使用命令&#34来确定使用哪个"键入哪个"并使用程序代替使用/ bin / which。

的内置命令

从Java中,您可以通过检查Process.waitFor()返回的进程退出状态来了解是否找到了结果。如果状态为0,发现匹配,如果非零,则表示没有,或者出现其他错误。