Java IP地址的存儲方法

怎樣將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
相關文章
相關標籤/搜索