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; }