Java调用Windows控制台命令方法介绍

来源:互联网 发布:北京赛车数据接入 编辑:程序博客网 时间:2024/05/16 01:47

http://www.jz123.cn/text/2827020.html

 

  本文介绍Java调用Windows控制台命令的方法。

  方法一:


   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(); 
  } 
  } 
  }

 

原创粉丝点击