JAVA获取及其mac地址

package cn.com; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.NetworkInterface; import java.util.Enumeration; import junit.framework.TestCase; public class Test extends TestCase { static String hexByte(byte b) { String s = "000000" + Integer.toHexString(b); return s.substring(s.length() - 2); } public static void main(String[] args) throws Exception { System.out.println("本机器的所有的网卡MAC发下:"); getMacOnWindow(); getMac(); } /** * JDK1.6新特性获取网卡MAC地址 */ public static void getMac() { try { Enumeration<NetworkInterface> el = NetworkInterface.getNetworkInterfaces(); while (el.hasMoreElements()) { byte[] mac = el.nextElement().getHardwareAddress(); if (mac == null) continue; StringBuilder builder = new StringBuilder(); for (byte b : mac) { builder.append(hexByte(b)); builder.append("-"); } builder.deleteCharAt(builder.length() - 1); System.out.println(builder); } } catch (Exception exception) { exception.printStackTrace(); } } /** * 原始的获取网卡MAC地址 */ public static void getMacOnWindow() { try { String mac = null; Process process = Runtime.getRuntime().exec("ipconfig /all"); BufferedReader buffer = new BufferedReader(new InputStreamReader(process.getInputStream())); for (String line = buffer.readLine(); line != null; line = buffer.readLine()) { int index = line.indexOf("Physical Address"); if (index <= 0) { continue; } mac = line.substring(index + 36); break; } buffer.close(); process.waitFor(); System.out.println(mac); } catch (Exception exception) { exception.printStackTrace(); } } }

结果如下:

本机器的所有的网卡MAC发下:
6C-F0-49-71-5E-3C
6c-f0-49-71-5e-3c

获取本机IP的方法:

InetAddress addr = InetAddress.getLocalHost(); String IP = addr.getHostAddress().toString(); System.out.println("IP=" + IP);

结果:

IP=192.168.0.50

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值