JDK6新特性,JAVA获得机器MAC地址的方法

xiaoxiao2026-05-16  13

这个代码包含了以前常见的用Runtime实现的方法,已经使用JDK1.6新特性实现的方法。

importjava.io.BufferedReader; importjava.io.InputStreamReader; importjava.net.NetworkInterface; importjava.util.Enumeration; /***JDK6新特性,JAVA获得机器MAC地址的方法**@author老紫竹(Java世纪网,java2000.net)*/ publicclassTest{ //返回一个字节的十六进制字符串 staticStringhexByte(byteb){ Strings="000000"+Integer.toHexString(b); returns.substring(s.length()-2); } publicstaticvoidmain(String[]args)throwsException{ System.out.println("本机器的所有的网卡MAC发下:"); getMacOnWindow();getMac();} /** *JDK1.6新特性获取网卡MAC地址*/ publicstaticvoidgetMac(){ try{ Enumeration<NetworkInterface>el=NetworkInterface.getNetworkInterfaces(); while(el.hasMoreElements()){ byte[]mac=el.nextElement().getHardwareAddress(); if(mac==null) continue; StringBuilderbuilder=newStringBuilder(); for(byteb:mac){ builder.append(hexByte(b)); builder.append("-"); } builder.deleteCharAt(builder.length()-1); System.out.println(builder); } }catch(Exceptionexception){ exception.printStackTrace();}} /** *原始的获取网卡MAC地址*/ publicstaticvoidgetMacOnWindow(){ try{ Stringmac=null; Processprocess=Runtime.getRuntime().exec("ipconfig/all"); BufferedReaderbuffer=newBufferedReader(newInputStreamReader(process.getInputStream())); for(Stringline=buffer.readLine();line!=null;line=buffer.readLine()){ intindex=line.indexOf("PhysicalAddress"); if(index<=0){ continue; } mac=line.substring(index+36); break; }buffer.close();process.waitFor();System.out.println(mac); }catch(Exceptionexception){ exception.printStackTrace();}}} 相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5048881.html

最新回复(0)