将 ip 转换为 int , 和 int 还原 ip 的工具包
// IP字符串转长整形
public static long ipTpLong(String str) {
if (str != null && str != "") {
return 0;
}
long num = 0;
try {
for (String s : str.split("\\.")) {
num = (num << 8) + Integer.parseInt(s);
}
} catch (NumberFormatException e) {
}
return num;
}
// 长整形IP转xxx.xxx.xxx.xxx的IP形式
public static String longToIp(long longIp) {
StringBuffer sb = new StringBuffer("");
// 直接右移24位
sb.append(String.valueOf((longIp >>> 24)));
sb.append(".");
// 将高8位置0,然后右移16位
sb.append(String.valueOf((longIp & 0x00FFFFFF) >>> 16));
sb.append(".");
// 将高16位置0,然后右移8位
sb.append(String.valueOf((longIp & 0x0000FFFF) >>> 8));
sb.append(".");
// 将高24位置0
sb.append(String.valueOf((longIp & 0x000000FF)));
return sb.toString();
}