1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public static long ipToLong(String ipString) throws NumberFormatException { long result = 0; String[] terms = ipString.split("\\."); if (terms.length != 4) { return -1; } result += Long.parseLong(terms[0]) << 24; result += Long.parseLong(terms[1]) << 16; result += Long.parseLong(terms[2]) << 8; result += Long.parseLong(terms[3]); return result; }
public static String longToIp(long ipLong) { return (ipLong >>> 24) + "." + ((ipLong >>> 16) & 0xFF) + "." + ((ipLong >>> 8) & 0xFF) + "." + (ipLong & 0xFF); }
public static void main(String[] args) { long result = ipToLong("255.255.255.255"); System.out.println(result); System.out.println(longToIp(result)); }
|