hellsing42 发表于 2013-2-5 01:21:53

读取windows中网络配置信息

import java.io.*;public class GetPhysicalAddress extends Thread{    String xcmd="ipconfig /all";    PrintStream out;    StreamGobbler2 errorGobbler;    StreamGobbler2 outputGobbler;public static void main(String[] args) {    new GetPhysicalAddress(System.out).start();}public GetPhysicalAddress(PrintStream out){      this.out=out;}public void run(){          try {            String osName = System.getProperty("os.name" );            String cmd[] = {"cmd.exe","/C",xcmd};//default            if(osName.equals("Windows NT"))            {                  cmd = "cmd.exe";                  cmd = "/C";//,/C的意義:執行字串中所描述的命令然後結束命令視窗                  cmd = xcmd;            } else            if(osName.equals("Windows XP"))            {                  cmd = "cmd.exe";                  cmd = "/C";                  cmd = xcmd;            }               else if( osName.equals( "Windows 95" ) ){                  cmd = "command.com" ;                  cmd = "/C" ;                  cmd = xcmd;            }               else if( osName.equals( "Windows 98" ) ) {                  cmd = "command.com" ;                  cmd = "/C" ;                  cmd = xcmd;            }               else if( osName.equals( "Windows 2000" ) ){                  cmd = "cmd.exe" ;                  cmd = "/C" ;                  cmd = xcmd;            } else            if(osName.equals("Windows 2003"))            {                  cmd = "cmd.exe";                  cmd = "/C";                  cmd = xcmd;            }            Runtime rt = Runtime.getRuntime();               //out.print("Executing " + cmd + " " + cmd + " " + cmd+"\n");            Process proc = rt.exec(cmd);            errorGobbler = new StreamGobbler2(proc.getErrorStream(), "ERROR",out);               outputGobbler = new StreamGobbler2(proc.getInputStream(), "OUTPUT", out);            errorGobbler.start();            outputGobbler.start();         } catch(NullPointerException e){             e.printStackTrace();          }catch (Exception e) {            e.printStackTrace();            }      }class StreamGobbler2 extends Thread{      boolean outb=false;      InputStream is;      PrintStream out;      String type2;      public StreamGobbler2(InputStream is, String type2, PrintStream out)      {          this.out=out;          this.is = is;          this.type2=type2;      }      public void run()      {          try          {            InputStreamReader isr = new InputStreamReader(is);            BufferedReader br = new BufferedReader(isr);            String line=null;            while ( (line = br.readLine()) != null)                out.print(type2 + ">" + line+"\n");            } catch (IOException ioe)                {                  ioe.printStackTrace();                }      }}}
页: [1]
查看完整版本: 读取windows中网络配置信息