public class Ipv4Utils extends Object
IP地址工具类
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
IP_MASK_MAX
最大掩码位
|
static String |
IP_MASK_SPLIT_MARK
IP与掩码的分割符
|
static String |
IP_SPLIT_MARK
IP段的分割符
|
| 构造器和说明 |
|---|
Ipv4Utils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
countByIpRange(String fromIp,
String toIp)
计算IP区间有多少个IP
|
static int |
countByMaskBit(int maskBit,
boolean isAll)
计算子网大小
|
static String |
formatIpBlock(String ip,
String mask)
格式化IP段
|
private static Long |
getBeginIpLong(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的起始IP(Long型)
|
static String |
getBeginIpStr(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的起始IP(字符串型)
|
private static Long |
getEndIpLong(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的终止IP(Long型)
注:此接口返回负数,请使用转成字符串后再转Long型
|
static String |
getEndIpStr(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的终止IP(字符串型)
|
static int |
getMaskBitByMask(String mask)
根据子网掩码转换为掩码位
|
static String |
getMaskByIpRange(String fromIp,
String toIp)
根据开始IP与结束IP计算掩码
|
static String |
getMaskByMaskBit(int maskBit)
根据掩码位获取掩码
|
static String |
getMaskByMaskBit(String maskBit)
根据掩码位获取掩码
|
static List<String> |
list(String ipRange,
boolean isAll)
智能转换IP地址集合
|
static List<String> |
list(String ip,
int maskBit,
boolean isAll)
根据IP地址、子网掩码获取IP地址区间
|
static List<String> |
list(String ipFrom,
String ipTo)
得到IP地址区间
|
static String |
longIpToStr(Long ip)
把long类型的Ip转为一般Ip类型:xx.xx.xx.xx
|
private static Map<String,String> |
maskBitMap()
存储着所有的掩码位及对应的掩码 key:掩码位 value:掩码(x.x.x.x)
|
static Long |
strIpToLong(String ip)
把xxx.xxx.xxx.xxx类型的转为long类型的IP
|
private static StringBuffer |
toBin(int x) |
public static final int IP_MASK_MAX
public static String formatIpBlock(String ip, String mask)
ip - IP地址mask - 掩码public static List<String> list(String ipRange, boolean isAll)
ipRange - IP段,支持X.X.X.X-X.X.X.X或X.X.X.X/XisAll - true:全量地址,false:可用地址;仅在ipRange为X.X.X.X/X时才生效public static List<String> list(String ip, int maskBit, boolean isAll)
ip - IP地址maskBit - 掩码位,例如24、32isAll - true:全量地址,false:可用地址public static List<String> list(String ipFrom, String ipTo)
ipFrom - 开始IPipTo - 结束IPpublic static Long strIpToLong(String ip)
ip - 字符类型的IPpublic static String getMaskByMaskBit(String maskBit)
maskBit - 掩码位数,如"28"、"30"public static String getBeginIpStr(String ip, int maskBit)
ip - 给定的IP,如218.240.38.69maskBit - 给定的掩码位,如30private static Long getBeginIpLong(String ip, int maskBit)
ip - 给定的IP,如218.240.38.69maskBit - 给定的掩码位,如30public static String getEndIpStr(String ip, int maskBit)
ip - 给定的IP,如218.240.38.69maskBit - 给定的掩码位,如30private static Long getEndIpLong(String ip, int maskBit)
ip - 给定的IP,如218.240.38.69maskBit - 给定的掩码位,如30public static int getMaskBitByMask(String mask)
mask - 掩码,例如xxx.xxx.xxx.xxxpublic static int countByMaskBit(int maskBit,
boolean isAll)
maskBit - 掩码位isAll - true:全量地址,false:可用地址private static StringBuffer toBin(int x)
private static Map<String,String> maskBitMap()
public static String getMaskByMaskBit(int maskBit)
maskBit - public static String getMaskByIpRange(String fromIp, String toIp) throws Exception
fromIp - 开始IPtoIp - 结束IPExceptionCopyright © 2020. All rights reserved.