科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何运行一个外部程序并捕获输出

如何运行一个外部程序并捕获输出

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  在Java中运行一个外部程序是使用java.lang.Runtime类的方法exec().该方法返回一个Process类。 如果你想捕获运行程序的输出,就要使用Process类。

作者:中国IT实验室 来源:中国IT实验室 2007年9月26日

关键字: 编程 java

  • 评论
  • 分享微博
  • 分享邮件

  在Java中运行一个外部程序是使用java.lang.Runtime类的方法exec().该方法返回一个Process类。 如果你想捕获运行程序的输出,就要使用Process类。Process类有三个方法:. Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream().分别对应于stdin, stdout, stderr。因此 如果想要捕捉该程序的输出,就要使用Process.getInputStream()。下面我给的例子就是运行ping程序,然后 把它的输出打印到屏幕上。所产生的效果和直接运行ping 程序是一样的。
  对于Process类的其他方法的使用例子,请大家下载我所提供jdk1.1类库API例子。
  
  
  import java.io.*;
  
  class Main {
   public static void main(String[] args) {
   try {
   String cmd = "ping ";
  String param ="202.112.58.200";
   Process child = Runtime.getRuntime().exec(cmd+param);
   // 获得ping的输出
   InputStream child_in = child.getInputStream();
   int c;
   while ((c = child_in.read()) != -1) {
  // System.out.println("kkk");
   System.out.print((char)c);
   }
   child_in.close();
   } catch (IOException e) {
   System.err.println(e);
   }
   }
  }
  
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件