六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 103|回复: 0

读取windows中网络配置信息

[复制链接]

升级  28.67%

23

主题

23

主题

23

主题

秀才

Rank: 2

积分
93
 楼主| 发表于 2013-2-5 01:21:53 | 显示全部楼层 |阅读模式
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[0] = "cmd.exe";                  cmd[1] = "/C";//,/C的意義:執行字串中所描述的命令然後結束命令視窗                  cmd[2] = xcmd;              } else              if(osName.equals("Windows XP"))              {                  cmd[0] = "cmd.exe";                  cmd[1] = "/C";                  cmd[2] = xcmd;              }               else if( osName.equals( "Windows 95" ) )  {                  cmd[0] = "command.com" ;                  cmd[1] = "/C" ;                  cmd[2] = xcmd;              }               else if( osName.equals( "Windows 98" ) ) {                  cmd[0] = "command.com" ;                  cmd[1] = "/C" ;                  cmd[2] = xcmd;              }               else if( osName.equals( "Windows 2000" ) )  {                  cmd[0] = "cmd.exe" ;                  cmd[1] = "/C" ;                  cmd[2] = xcmd;              } else              if(osName.equals("Windows 2003"))              {                  cmd[0] = "cmd.exe";                  cmd[1] = "/C";                  cmd[2] = xcmd;              }              Runtime rt = Runtime.getRuntime();               //out.print("Executing " + cmd[0] + " " + cmd[1] + " " + cmd[2]+"\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();                }      }  }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表