首页 > Java > java教程 > 如何在Java中高效捕获命令行输出?

如何在Java中高效捕获命令行输出?

Linda Hamilton
发布: 2024-12-28 14:21:30
原创
487 人浏览过

How to Efficiently Capture Command Line Output in Java?

在 Java 中提取命令行输出

Java 的 Runtime 类提供了执行命令行程序的能力。然而,获取这些命令生成的输出可能是一项具有挑战性的任务。本文通过解释如何使用 Runtime 类从命令行程序中提取输出来解决此问题。

在提供的代码中,错误消息显示输出流未正确读取。为了纠正这个问题,以下代码演示了一种强大的方法:

Runtime rt = Runtime.getRuntime();
String[] commands = {"system.exe", "-get t"};
Process proc = rt.exec(commands);

BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

// Read the output from the command
System.out.println("Here is the standard output of the command:\n");
String s = null;
while ((s = stdInput.readLine()) != null) {
    System.out.println(s);
}

// Read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
    System.out.println(s);
}
登录后复制

此代码利用 Runtime 类来执行命令并打开进程的标准输入和错误流的读取器。然后它迭代输出和错误行,将它们打印到控制台。

有关更全面的详细信息和高级选项,请参阅 ProcessBuilder 上的 Java 文档:https://docs.oracle.com/javase/ 7/docs/api/java/lang/ProcessBuilder.html

以上是如何在Java中高效捕获命令行输出?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板