IP地址转为long型:
public static long ipToLong(String ip) {
String[] ipArray = ip.split("\\.");
List ipNums = new ArrayList();
for (int i = 0; i < 4; ++i) {
ipNums.add(Long.valueOf(Long.parseLong(ipArray[i].trim())));
}
long ZhongIPNumTotal = ((Long) ipNums.get(0)).longValue() * 256L * 256L * 256L
+ ((Long) ipNums.get(1)).longValue() * 256L * 256L + ((Long) ipNums.get(2)).longValue() * 256L
+ ((Long) ipNums.get(3)).longValue();
return ZhongIPNumTotal;
}
long转为IP地址:
public static String getIP(long ipaddr) {
long y = ipaddr % 256;
long m = (ipaddr - y) / (256 * 256 * 256);
long n = (ipaddr - 256 * 256 *256 * m - y) / (256 * 256);
long x = (ipaddr - 256 * 256 *256 * m - 256 * 256 *n - y) / 256;
return m + "." + n + "." + x + "." + y;
}
bytes to long:
public static long bytes2Long(byte[] byteNum) {
long num = 0;
for (int ix = 0; ix < 8; ++ix) {
num <<= 8;
num |= (byteNum[ix] & 0xff);
}
return num;
}