`

在Java中运行一个外部程序

    博客分类:
  • 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); 
               } 
               } 
               } 
 

另外两个简单例子:用java调用ie浏览器(iexplore.exe与类文件在同一目录)

import java.io.*; 
    class Main { 
       public static void main(String[] args) { 
               try { 
               String cmd = "iexplore.exe "; 
               String param ="http://www.java3z.com/"; 
               Process child = Runtime.getRuntime().exec(cmd+param); 
               // 获得ping的输出 
             
               } catch (IOException e) { 
               System.err.println(e); 
               } 
     } 
   } 

在jdk1.5中可以这样:
import java.io.*;
public class ProcessTest {
   public static void main(String args[]) throws IOException {
   Process p =      new ProcessBuilder("iexplore.exe","http://www.java3z.com/").start();
  }
}





分享到:
评论

相关推荐

    通过Java运行一个外部程序

    通过Java运行一个外部程序 public class hpboot{ public static void main(String[] args) { String command = "C:\\Program Files\\Outlook Express\\msimn.exe"; try{ Runtime.getRuntime().exec(command);...

    用JAVA调用外部程序并截出程序运行结果

    JAVA调用外部程序 用JAVA调用外部程序并截出程序运行结果

    Java中使用Runtime和Process类运行外部程序.docx

    Java中使用Runtime和Process类运行外部程序

    java调用外部jar文件

    通过java应用程序动态调用外部jar文件。

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    用bat运行java文件中引用了外部jar的java程序

    NULL 博文链接:https://citywu123.iteye.com/blog/686691

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    1.6 小结:我们学会了编译和运行一个Java程序! 18 1.7 习题 19 第2章 搭建自己的集成开发环境 20 教学视频:31分钟 2.1 安装集成开发环境 20 2.1.1 集成开发环境有哪些 20 2.1.2 安装Eclipse 21 2.2 Eclipse...

    Java编程使用Runtime和Process类运行外部程序的方法

    主要介绍了Java编程使用Runtime和Process类运行外部程序的方法,结合实例形式分析了java使用Runtime.getRuntime().exec()方法运行外部程序的常见情况与操作技巧,需要的朋友可以参考下

    java小程序设计.doc

    课程设计报告 设计题目:用Java编的计算器 院 系 班 级 设 计 者 学 号 指导教师 设计时间 前言: 通过上课学习了java程序设计的基本原理和模式,这次又以java语言为基本结合其图形应 用界面来设计一个包括加、减、乘...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    1.6 小结:我们学会了编译和运行一个Java程序! 18 1.7 习题 19 第2章 搭建自己的集成开发环境 20 教学视频:31分钟 2.1 安装集成开发环境 20 2.1.1 集成开发环境有哪些 20 2.1.2 安装Eclipse 21 2.2 Eclipse...

    java技术学习文档.docx

    Java的变量和方法需要在类中定义,而不能在类外部定义。Java的代码块包括静态代码块、实例代码块和构造代码块,它们会在程序运行时被执行。Java中的异常处理机制可以帮助开发人员避免程序运行时出现的错误。 Java...

    java开源包11

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    java开源包6

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    java开源包9

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    java开源包4

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    java开源包101

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    java开源包5

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    java 面试题 总结

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

Global site tag (gtag.js) - Google Analytics