有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java希望在使用进程时获得标准输出或错误

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

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

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

但在终端(OSX)中,如果我尝试“whichunlists”,我会得到“unlistsnotfound”

“unexists not found”(未列出未找到)消息去哪里了?我怎么能得到这个

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


共 (1) 个答案

  1. # 1 楼答案

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

    从Java中,您可以通过检查流程返回的流程退出状态来知道是否找到了结果。waitFor()。如果找到匹配项的状态为0,如果为非零,则未找到匹配项,或者存在其他错误