java 获取mac地址的两种方法(推荐)

下面小编就为大家带来一篇java 获取mac地址的两种方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

我在网上找了一下获取mac地址的方法,找了两种比较不太一样的方法。

第一种

 public static void main(String[] args) throws Exception { InetAddress ia = InetAddress.getLocalHost(); System.out.println(getMACAddress(ia)); }
 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地址的。

第二种

 public static void main(String[] args) throws Exception { getMac("192.168.1.186"); }
 public static String getMac(String ip){ String str = null; String mac = null; try{ Process p = Runtime.getRuntime().exec("nbtstat -A " + ip); InputStreamReader ir = new InputStreamReader(p.getInputStream(),"gbk"); LineNumberReader input = new LineNumberReader(ir); for (; true;) { str = input.readLine(); if (str != null) { if (str.indexOf("MAC 地址") > 1) { mac = str.substring(str.indexOf("MAC 地址") + 9); break; } } } System.out.println(mac); }catch(IOException e){ e.printStackTrace(); } return mac; }

这种方法是我比较喜欢的,不过这种方法呢在时间效率上可能会稍差一些。这个里面有一个比较需要注意的点就是数据流那里记得要改成gbk格式的,不然读出来的数据是乱码的,后面就会无法进行了,然后识别字段那里,可能有一些会是"MAC address",所以可能需要自己做一些调整。

以上就是小编为大家带来的java 获取mac地址的两种方法(推荐)全部内容了,希望大家多多支持html中文网~

以上就是java 获取mac地址的两种方法(推荐)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java