Java获取本机mac地址

本方法需要使用使用jdk1.6。

public static void getAllMacAdress() {
		Enumeration<NetworkInterface> netInterfaces = null;

		try {
			// 获得所有网络接口
			netInterfaces = NetworkInterface.getNetworkInterfaces();
			while (netInterfaces.hasMoreElements()) {
				System.out
						.println("==============================================");
				String mac = "";
				StringBuffer sb = new StringBuffer();
				NetworkInterface ni = netInterfaces.nextElement();
				System.out.println("DisplayName: " + ni.getDisplayName());
				System.out.println("Name: " + ni.getName());

				byte[] macs = ni.getHardwareAddress();
				// 该interface不存在HardwareAddress,继续下一次循环
				if (macs == null) {
					continue;
				}

				for (int i = 0; i < macs.length; i++) {
					mac = Integer.toHexString(macs[i] & 0xFF);
					if (mac.length() == 1) {
						mac = '0' + mac;
					}
					sb.append(mac + "-");
				}
				mac = sb.toString();
				mac = mac.substring(0, mac.length() - 1);
				System.out.println(mac);

				Enumeration<InetAddress> ips = ni.getInetAddresses();
				while (ips.hasMoreElements()) {
					System.out.println("IP: "
							+ ips.nextElement().getHostAddress());
				}
			}
		} catch (SocketException e) {
			e.printStackTrace();
		}
	}

  

posted @ 2012-12-05 09:30  haifeng0730  阅读(442)  评论(0编辑  收藏  举报

欲起步的人生贵在励志 已起步的人生贵在坚持