Java调用Windows控制台命令

2012-11-12

  方法一:

  public static void main(String[] args)

  {

  InputStream ins = null;

  String[] cmd = new String[]{ "cmd.exe", "/C", "ipconfig" };

  try

  {

  Process process = Runtime.getRuntime().exec(cmd);

  // cmd 的信息

  ins = process.getInputStream();

  BufferedReader reader = new BufferedReader(new InputStreamReader(

  ins));

  String line = null;

  while ((line = reader.readLine()) != null)

  {

  // 输出

  System.out.println(line);

  }

  int exitValue = process.waitFor();

  System.out.println("返回值:" + exitValue);

  // 关闭

  process.getOutputStream().close();

  }

  catch (Exception e)

  {

  e.printStackTrace();

  }

  方法二:

  class StreamDrainer implements Runnable

  {

  private InputStream ins;

  public StreamDrainer(InputStream ins)

  {

  this.ins = ins;

  }

  public void run()

  {

  try

  {

  BufferedReader reader = new BufferedReader(new InputStreamReader(ins));

  String line = null;

  while ((line = reader.readLine()) != null)

  {

  System.out.println(line);

  }

  }

  catch (Exception e)

  {

  e.printStackTrace();

  }

  }

  }

  public class CMD

  {

  public static void main(String[] args)

  {

  // String[] cmd = new String[] { "cmd.exe", "/C",

  // "wmic process get name" };

  String[] cmd = new String[]

  { "cmd.exe", "/C", "ipconfig" };

  try

  {

  Process process = Runtime.getRuntime().exec(cmd);

  new Thread(new StreamDrainer(process.getInputStream())).start();

  new Thread(new StreamDrainer(process.getErrorStream())).start();

  process.getOutputStream().close();

  int exitValue = process.waitFor();

  System.out.println("返回值:" + exitValue);

  }

  catch (Exception e)

  {

  e.printStackTrace();

  }

  }

  }

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com