Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Java中调用外部命令

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Java中调用外部命令

public class ExecCommond{

public ExecCommond(){}

/**

  * 执行一条命令

  * @param execStr String 命令字符串

  * @return String 执行命令错误时的信息。

  */

 public static String  exec(String execStr) {

    Runtime runtime = Runtime.getRuntime(); 取得当前运行期对象

    String   outInfo=""; //执行错误的输出信息

    try {

          String[] args = new String[] {"sh", "-c", execStr};//执行linux下的命令

              //执行windows下的命令

//                   String[] args = new String[] {"cmd", "-c", execStr};

      Process proc = runtime.exec(args); //启动另一个进程来执行命令

      InputStream in = proc.getErrorStream();//得到错误信息输出。

      BufferedReader br = new BufferedReader(new InputStreamReader(in));

      String line = "";

      while ( (line = br.readLine())

             != null) {

        outInfo = outInfo + line + "\n";

        System.out.println(outInfo);

      }

      // 检查命令是否失败。

 

      try {

        if (proc.waitFor() != 0) {

          System.err.println("exit value = " +

                             proc.exitValue());

        }

      }

      catch (InterruptedException e) {

        System.err.print(e);

        e.printStackTrace();

      }

    }

    catch (IOException e) {

      flag = false;

      System.out.println("exec error: " + e.getMessage());

      e.printStackTrace();

    }

    finally {

      return outInfo;

    }

  }

}




相关文章

相关软件