当前位置: 首页 > 知识库问答 >
问题:

如何使用java打印命令行执行输出

夔高寒
2023-03-14

当在下面运行时,将打开代码提示符,并显示java版本信息。我想打印java版本信息。请帮帮我

public class Test {

    public static void main(String[] args) throws IOException {
        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec("cmd.exe /c start cmd.exe /k \"java -version\"");
        BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        // 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);
        }

    }

}

共有1个答案

伏欣悦
2023-03-14

在您读取流的那一刻,该过程实际上可能还没有完成。我很确定您首先必须等待int exitVal=proc。waitFor()

对于调试,尝试在proc.getErrorStream()上记录其中的一部分可能会有所帮助

 类似资料:
  • 例子 $ gcc -### foo.c Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgvers

  • 相关:如何在(unix)shell脚本中漂亮地打印JSON? 是否有(unix)shell脚本以人类可读的形式格式化XML? 基本上,我想让它转换以下内容: ...变成这样的东西:

  • 我正在使用DHL Shipping(XML)API请求DHL发货并自动打印响应的发货标签。 系统是这样工作的: DHL响应XML包含base64编码的pdf,其中包含: 第1页。装运标签(打印在包装上的标签上) 第2页。存档文件(需要单独打印并交给快递员) 为了分离这两个PDF,我首先解码base64,然后使用PDFBox命令行工具执行PDFSplit,最后在各自的打印机上打印各自的文档: 问题是

  • 问题内容: 如何执行Bash命令并从Java收集输出? 大家好,基本上,我正在编写一个基本的控制台应用程序,并且希望能够从中运行命令,例如sudo ***,halt,ifconfig等。 有见识吗? 问题答案: 您可以为此使用processBuilder API。请参阅此示例。

  • 问题内容: 我正在使用Linux上的CMake构建的大型C ++项目。CMake运行正常,在模块和应用程序树中生成大量的Makefile。运行GNU 会导致链接器错误。我如何在运行命令之前先打印出确切的命令? -d选项不会打印命令,但是很多信息并没有帮助。 -n选项显示所有命令,但不运行它们,因此我无法确定问题出在哪里。从make -n检查stdout,我看不到任何相关的命令。我怀疑某些命令会根据

  • 问题内容: 我试图便宜一些,并在Java中执行本地系统命令()。我想从中获取输出并将其存储在String中。最好的方法是什么?当前代码: 问题答案: 你的方法与我可能要做的事情并不遥远: 当然,请处理你关心的任何异常情况。