关闭

在程序中执行系统命令的办法

306人阅读 评论(0) 收藏 举报

大牛请绕道


我们经常要在程序中执行系统命令,作为小菜鸟的我编写了一个执行系统命令的类供大家参考:


// Run an operating system command
// and send the output to the console.
import java.io.*;

public class OSExecute {
  public static void command(String command) {
    boolean err = false;
    try {
      Process process =
        new ProcessBuilder(command.split(" ")).start();
      BufferedReader results = new BufferedReader(
        new InputStreamReader(process.getInputStream()));
      String s;
      while((s = results.readLine())!= null)
        System.out.println(s);
      BufferedReader errors = new BufferedReader(
        new InputStreamReader(process.getErrorStream()));
      // Report errors and return nonzero value
      // to calling process if there are problems:
      while((s = errors.readLine())!= null) {
        System.err.println(s);
        err = true;
      }
    } catch(Exception e) {
      // Compensate for Windows 2000, which throws an
      // exception for the default command line:
      if(!command.startsWith("CMD /C"))
        command("CMD /C " + command);
      else
        throw new RuntimeException(e);
    }
    if(err)
      throw new OSExecuteException("Errors executing " +
        command);
  }
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:218537次
    • 积分:1875
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:35篇
    • 译文:0篇
    • 评论:12条
    最新评论