java希望在使用进程时获得标准输出或错误
我想使用"which hoge"
在Java代码中获取hoge的路径
当“hoge”存在时,路径可以通过Process#getInputStream.
获得
但是当“hoge”不存在时,来自Process#get(Input|Error)Stream
的输入流和错误流都会给出"null"
但在终端(OSX)中,如果我尝试“whichunlists”,我会得到“unlistsnotfound”
“unexists not found”(未列出未找到)消息去哪里了?我怎么能得到这个
Java是否使用了另一个“which”
# 1 楼答案
您的shell可能内置了“which”命令,因此它不使用/bin/which程序。两者之间可能有许多不同之处。您可以使用命令“type which”检查您使用的是哪个,并使用/bin/which使用程序而不是内置命令
从Java中,您可以通过检查流程返回的流程退出状态来知道是否找到了结果。waitFor()。如果找到匹配项的状态为0,如果为非零,则未找到匹配项,或者存在其他错误