Java IP地址的存储方法
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sunny.blog.51cto.com/182601/98145 |
怎样将IP地址保存到数据库? 工作上遇到的问题!! 保存下来以备后查:
这个方法是将一个IP地址比如:192.168.0.254 作为参数传递下面的方法,该方法返回3232235774 这个long类型的值可以存储到数据库。
public static long ip2num(String ip) { long ipNum = 0; try { if (ip != null) { String ips[] = ip.split("\\."); for (int i = 0; i < ips.length; i++) { int k = Integer.parseInt(ips[i]); ipNum = ipNum + k * (1L << ((3 - i) * 8)); } } } catch (Exception e) { } return ipNum; } 下面是转换的方法,也就是将 232235774 在转换成一个我们能直接看懂的IP地址,具体的方法如下:
public static String num2ip(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(); } 直接将 3232235774 参数传入方法,返回IP地址:192.168.0.254 本文出自 “张健的博克” 博客,请务必保留此出处http://sunny.blog.51cto.com/182601/98145 本文出自 51CTO.COM技术博客 |



张健的博克
博客统计信息
热门文章
最新评论
友情链接
