1.Source Code:
import java.net.NetworkInterface;
import java.util.Enumeration;
import java.io.*;
import java.util.Vector;
import java.text.*;
import java.util.*;
public class GetWlanID {
public Vector<String>Address=new Vector<String>();
public String ReadCfg;
public static void main(String[] args)
{
GetWlanID GetID=new GetWlanID();
if(GetID.ReadCfg("Config.ini")==false)
{
System.out.println("Config Read Err!!");
System.exit(1);
}
//System.out.println(GetID.ReadCfg);
//GetID.ShowAllMac();
if(GetID.Save_AllAddressText("WlanID.DAT", "Bluetooth.DAT")==true)System.exit(0);
System.exit(1);
}
public GetWlanID()
{
try
{
Enumeration<NetworkInterface> enumeration = NetworkInterface.getNetworkInterfaces();
while (enumeration.hasMoreElements())
{
StringBuffer stringBuffer = new StringBuffer();
NetworkInterface networkInterface = enumeration.nextElement();
if (networkInterface != null)
{
byte[] bytes = networkInterface.getHardwareAddress();
boolean Is=false;
if (bytes != null)
{
for (int i = 0; i < bytes.length; i++)
{
int tmp = bytes[i] & 0xff; // 字节转换为整数
String str = Integer.toHexString(tmp);
if (str.length() == 1)
{
stringBuffer.append("0" + str);
}
else
{
stringBuffer.append(str);
}
}
String mac = stringBuffer.toString().toUpperCase();
if(this.Address.size()>0)
{
for(int x=0;x<this.Address.size();x++)
{
if(this.Address.get(x).equals(mac))
{
Is=true;
break;
}
}
if(Is==false)
this.Address.add(mac);
}
else
{
this.Address.add(mac);
}
//System.out.println(mac);
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
System.exit(1);
}
}
public boolean ReadCfg(String CfgFileName)//读取配置
{
boolean Flag=false;
try
{
BufferedReader in=new BufferedReader(new FileReader(CfgFileName));
this.ReadCfg=in.readLine().toUpperCase();//读取配置第一行
in.close();
Flag=true;
}
catch(Exception e)
{
e.printStackTrace();
Flag=false;
}
return Flag;
}
public void ShowAllMac()
{
for(int i=0;i<Address.size();i++)
{
System.out.println(Address.get(i));
}
}
public boolean Save_AllAddressText(String FileName_A,String FileName_B)//填入ID到文本中
{
boolean Flag=false;
boolean IsNoReadCp=false;
String Str1=null,Str2=null;
for(int i=0;i<Address.size();i++)
{
if(IsNoReadCp)break;//如果两组ID读取完成退出循环
// String Temp=new String(this.Address.get(i));
// Temp=new String(Temp.substring(6));
// System.out.println(Temp);
// System.out.println(this.ReadCfg);
if((this.Address.get(i).indexOf(this.ReadCfg))!=-1)//判断是否包含该字符串
{
if(Str1==null)
{
Str1=Address.get(i);
}
else if(Str2==null)
{
Str2=Address.get(i);
IsNoReadCp=true;
}
}
}
System.out.println(Str1+"\n"+Str2);
if(IsNoReadCp==true)
{
if(this.SaveAddressText(FileName_A,Str1)&&this.SaveAddressText(FileName_B,Str2)) Flag=true;
}
return Flag;
}
public boolean SaveAddressText(String FileName,String Str)//采用字节流方式写文本
{
boolean Flag=false;
try
{
BufferedWriter out=new BufferedWriter(new FileWriter(FileName,true));
out.write(Str);
out.close();
Flag=true;
}
catch(Exception e)
{
e.printStackTrace();
Flag=false;
}
return Flag;
}
}
2.Config File: