2010年12月21日火曜日

JavaでDOSコマンドを実行しその結果を表示する

WindowsのDOSコマンドをJavaプログラム内で実行し、その結果を
Javaの内部で取得する方法。

下記のサンプルプログラムでは、netstatコマンドを実行してそれを
表示するサンプル。

import java.io.IOException;
import java.io.InputStream;


public class CommandExecAndSysOutSample {

 public static void main(String[] args) throws IOException, InterruptedException {
  String[] s = {"cmd.exe", "/c", "netstat"};
  Process process = Runtime.getRuntime().exec(s);
  InputStream is = process.getInputStream();
  int size=0;
  byte[] b = new byte[1024];
  while ((size=is.read(b))>0){
   String ss = new String(b,0,size,"MS932");
//   System.out.println(size);
   System.out.print(ss);
   Thread.sleep(100);
  }
  System.out.println("-----------END");
 }

}

0 件のコメント: