我的日常

登录/注册
您现在的位置:论坛 资料库 JAVA开发 > Java如何获取本机MAC地址
总共48086条微博

动态微博

查看: 1286|回复: 1

Java如何获取本机MAC地址

[复制链接]

279

主题

41

听众

689

金钱

版主

该用户从未签到

跳转到指定楼层
楼主
发表于 2015-03-20 17:45:52 |只看该作者 |倒序浏览
  1. import java.net.InetAddress;

  2. import java.net.NetworkInterface;

  3. import java.net.SocketException;

  4. import java.net.UnknownHostException;


  5. /*

  6. * 物理地址是48位,别和ipv6搞错了

  7. */

  8. public class LOCALMAC {


  9.         /**

  10.          * @param args

  11.          * @throws UnknownHostException

  12.          * @throws SocketException

  13.          */

  14.         public static void main(String[] args) throws UnknownHostException, SocketException {

  15.                 // TODO Auto-generated method stub

  16.                

  17.                 //得到IP,输出PC-201309011313/122.206.73.83

  18.                 InetAddress ia = InetAddress.getLocalHost();

  19.                 System.out.println(ia);

  20.                 getLocalMac(ia);

  21.         }


  22.         private static void getLocalMac(InetAddress ia) throws SocketException {

  23.                 // TODO Auto-generated method stub

  24.                 //获取网卡,获取地址

  25.                 byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();

  26.                 System.out.println("mac数组长度:"+mac.length);

  27.                 StringBuffer sb = new StringBuffer("");

  28.                 for(int i=0; i<mac.length; i++) {

  29.                         if(i!=0) {

  30.                                 sb.append("-");

  31.                         }

  32.                         //字节转换为整数

  33.                         int temp = mac[i]&0xff;

  34.                         String str = Integer.toHexString(temp);

  35.                         System.out.println("每8位:"+str);

  36.                         if(str.length()==1) {

  37.                                 sb.append("0"+str);

  38.                         }else {

  39.                                 sb.append(str);

  40.                         }

  41.                 }

  42.                 System.out.println("本机MAC地址:"+sb.toString().toUpperCase());

  43.         }

  44. }


  45.         运行结果如下:
  46. PC-201309011313/122.206.73.83

  47. mac数组长度:6

  48. 每8位:d0

  49. 每8位:27

  50. 每8位:88

  51. 每8位:1f

  52. 每8位:89

  53. 每8位:51

  54. 本机MAC地址:D0-27-88-1F-89-51
复制代码



我的日常 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与我的日常享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和我的日常的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、我的日常管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

0

主题

0

听众

116

金钱

三袋弟子

该用户从未签到

沙发
发表于 2015-03-24 05:43:58 |只看该作者
  
参与/回复主题 关闭  



      
RE: Java如何获取本机MAC地址 [修改]
回复

使用道具 举报

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表