Java 提供了在其运行时环境中执行系统命令的能力。这对于在底层操作系统上执行各种操作非常有用。在本指南中,我们将探讨如何在 Linux 和 BSD 系统中使用 Java 执行系统命令。
开发人员想要从 Java 程序和存储中执行 uname -a 命令字符串中的输出。他们提供的代码片段尝试执行此操作,但遇到了一些问题。
要在 Java 中执行系统命令,我们可以使用 Runtime.exec() 方法。该方法将要执行的命令作为字符串作为参数。命令执行后,我们可以从命令的标准输出流中获取输出。
以下是如何执行 uname -a 并将输出存储在字符串中的示例:
<code class="java">Runtime r = Runtime.getRuntime(); Process p = r.exec("uname -a"); p.waitFor(); BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = ""; while ((line = b.readLine()) != null) { System.out.println(line); } b.close();</code>
这段代码首先创建了一个Runtime对象。然后,它使用 Runtime 对象上的 exec() 方法来执行 uname -a 命令。 exec() 方法返回一个 Process 对象,它代表正在运行的进程。
我们可以通过读取 Process 对象的输入流来获取命令的输出。该代码片段使用 BufferedReader 逐行读取输出。然后将输出打印到控制台以进行演示。
通过遵循这种方法,您可以从 Java 中执行任何有效的系统命令,并在程序逻辑中利用其输出。
以上是如何在 Java 中执行系统命令并捕获输出?的详细内容。更多信息请关注PHP中文网其他相关文章!