zoukankan      html  css  js  c++  java
  • Java中执行程序并获取输出

    因为项目中要使用到相关技术,查了一下,是用Runtime类来完成的:

    String sErr, sOut, sLine;
    Process p = Runtime.getRuntime().exec("command");
    InputStreamReader e = new InputStreamReader(p.getErrorStream());
    InputStreamReader r = new InputStreamReader(p.getInputStream());

    LineNumberReader eLine = new LineNumberReader (e);
    sErr="";
    while ((sLine = eLine.readLine ()) != null)
      sErr += sLine + '\n';

    LineNumberReader rLine = new LineNumberReader (r);
    sOut="";
    while ((sLine = rLine.readLine ()) != null)
      sOut += sLine + '\n';

    其中command是想执行的程序,这是是获取标准错误和标准输出的内容,分别放在sErr和sOut中。

    在Linux下如果想获得某个时刻的top结果,command可以写成:top -b -n 1,但这时读标准错误会挂掉,不知道为什么。

  • 相关阅读:
    NET Core 2.2
    NET Core项目模板
    Eclipse同时显示多个控制台项目的输出
    Java中的序列化
    Java中的泛型
    Java中的集合
    Java中的数据结构
    Java中的包
    Java中的接口
    Java中的封装
  • 原文地址:https://www.cnblogs.com/wonderow/p/73526.html
Copyright © 2011-2022 走看看