您的位置:首页 > 编程语言 > Java开发

Java获取本机名称、本机MAC地址、IP地址

2016-10-22 10:52 417 查看
package com.howin.util;

import java.net.*;

public class Ipconfig {

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InetAddress ia=null;
try {
ia=ia.getLocalHost();

String localname=ia.getHostName();
String localip=ia.getHostAddress();
System.out.println("本机名称是:"+ localname);
System.out.println("本机的ip是 :"+localip);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
InetAddress ia1 = InetAddress.getLocalHost();//获取本地IP对象
System.out.println("MAC ......... "+getMACAddress(ia1));
}
//获取MAC地址的方法
private static String getMACAddress(InetAddress ia)throws Exception{
//获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();

//下面代码是把mac地址拼装成String
StringBuffer sb = new StringBuffer();

for(int i=0;i<mac.length;i++){
if(i!=0){
sb.append("-");
}
//mac[i] & 0xFF 是为了把byte转化为正整数
String s = Integer.toHexString(mac[i] & 0xFF);
System.out.println("--------------");
System.err.println(s);

sb.append(s.length()==1?0+s:s);
}

//把字符串所有小写字母改为大写成为正规的mac地址并返回
return sb.toString().toUpperCase();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐