【发布时间】:2016-02-07 00:13:14
【问题描述】:
为了在 Groovy 中捕获进程的输出,我使用以下命令:
"command".execute().text
我想在 Java 中做同样的事情,但我发现的所有响应都包含大量涉及循环的样板代码,BufferedReader、Scanner 等:
- Get Command Prompt Output to String In Java
- How to run Windows commands in JAVA and return the result text as a string
- java runtime.getruntime() getting output from executing a command line program
我可以在 1-2 行代码内做同样的事情吗?也许 Guava 或 Apache 可以让生活变得更简单?
【问题讨论】:
-
Java 大致相当于样板代码。在这种情况下,可能有一个库(可能是)会有所帮助,但大部分 Java 将是样板文件。我很确定你可以在 like 中做到这一点。 . .不过 5-10 行。
-
有Apache Commons Exec,没用过,不知道好不好用。这是一个很少出现的问题,可能不值得。几年前我编写了自己的十行流程运行程序,从那以后我一直很高兴地使用它。
-
如果您可以访问项目中的 groovy jar,则可以调用 getText(
) 并获得相同的结果 -
@CollinD 这里的事情是我需要在一个单元测试中使用它一次,所以这 5-10 行将不仅仅是一个测试本身。
标签: java