读取windows中网络配置信息

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

[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值