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

  }

  }

  }

 

  转载:http://www.liuzm.com/article/java/9630a.htm

你可能感兴趣的:(java,windows,exception,String,cmd,null)