0

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

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

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

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

“未找到”的消息在哪里?我怎样才能得到这个?

Java 是否使用另一个“which”?

4

1 回答 1

1

您的 shell 可能有“which”作为内置命令,因此它不使用 /bin/which 程序。两者之间可能存在许多差异。您可以使用命令“type which”检查您使用的哪个,并使用该程序而不是使用 /bin/which 的内置命令。

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

于 2013-07-12T06:42:11.187 回答