激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java編程實現遍歷兩個MAC地址之間所有MAC的方法

Java編程實現遍歷兩個MAC地址之間所有MAC的方法

2020-01-21 15:06luoboo525 JAVA教程

這篇文章主要介紹了Java編程實現遍歷兩個MAC地址之間所有MAC的方法,涉及Java針對MAC的遍歷獲取與字符串轉換相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java編程實現遍歷兩個MAC地址之間所有MAC的方法。分享給大家供大家參考,具體如下:

在對發放的設備進行后臺管理時,很多時候會用到設備MAC這個字段,它可以標識唯一一個設備。然而在數據庫批量的存儲MAC地址時,如果使用解析文本逐行添加的方式,難免會顯得操作復雜,而且事先還需生成MAC地址文本。事實上MAC地址是按照十六進制逐一遞增的,所以只需要給出一個區間便有可能枚舉出所有MAC地址。以下是筆者封裝的一個通過兩個MAC地址枚舉區間內所有MAC的函數。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/** 輸出兩個MAC區間內的所有MAC地址 */
public static void countBetweenMac(String macStart, String macEnd){
  long start = turnMacToLong(macStart);
  long end = turnMacToLong(macEnd);
  String prefix = macStart.substring(0,9);
  String hex = null;
  String suffix = null;
  StringBuffer sb = null;
  for(long i=start; i< end +1; i++){
   hex = Long.toHexString(i);
   suffix = hex.substring(hex.length()-6);
   sb = new StringBuffer(suffix);
   sb.insert(2, ":");
   sb.insert(5, ":");
   System.out.println(prefix + sb.toString());
  }
}
/** 將MAC轉換成數字 */
public static long turnMacToLong(String MAC){
  String hex = MAC.replaceAll("\\:", "");
  long longMac = Long.parseLong(hex, 16);
  return longMac;
}

另附計算兩個MAC之間MAC中個數函數:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/** 計算區間內MAC總數 */
public static long countMac1(String macStart, String macEnd){
  String hexStart = macStart.replaceAll("\\:", "");
  String hexEnd = macEnd.replaceAll("\\:", "");
  long start = Long.parseLong(hexStart, 16);
  long end = Long.parseLong(hexEnd, 16);
  return end-start+1;
}
/** 計算區間內MAC總數 */
public static long countMac(String macStart, String macEnd){
  String[] start = macStart.split("\\:");
  String[] end = macEnd.split("\\:");
  int x,y,z;
  int a,b,c;
  x = Integer.parseInt(start[3],16);
  y = Integer.parseInt(start[4],16);
  z = Integer.parseInt(start[5],16);
  a = Integer.parseInt(end[3],16);
  b = Integer.parseInt(end[4],16);
  c = Integer.parseInt(end[5],16);
  return (a-x)*16*16*16 + (b-y)*16*16 + c-z+1;
}

希望本文所述對大家Java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线播放第一页 | 亚洲成人欧美在线 | 久久久无码精品亚洲日韩按摩 | 久久羞羞| 最新av网址在线观看 | 神秘电影91 | 国产午夜精品视频免费不卡69堂 | 久草在线手机视频 | 性视频久久 | 精品亚洲午夜久久久久91 | 久久精品国产99久久久古代 | 视频一区二区三区在线播放 | 亚洲国产中文字幕 | 午夜在线观看视频网站 | 久久免费视频3 | 国产女同疯狂激烈互摸 | freexxxhd喷水 | aa国产视频一区二区 | 久久另类视频 | 国产激情视频在线 | 草草视频在线 | 精品国产视频一区二区三区 | 久久精品欧美一区二区三区不卡 | 欧美a久久| 国产精品久久久久久久久久久久久久久 | 久久精品色 | 欧美一级特黄a | 国产日本欧美在线观看 | 久草在线播放视频 | 精品一区二区三区在线播放 | 欧美一级特黄aaaaaaa什 | 久久久www成人免费毛片 | 2019中文字幕在线播放 | 91短视频版高清在线观看免费 | 国产一区二区三区四区波多野结衣 | 欧洲成人一区 | 亚洲最大的成人网 | 特级黄色一级毛片 | 亚洲va在线 | 国产亚洲精品成人a | v11av在线播放 |