Java IP地址的存储方法
2008-09-09 14:30
253 查看
怎样将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
这个方法是将一个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
相关文章推荐
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- Java获取客户端真实IP地址的两种方法
- Java代码调用存储过程和存储方法
- Java获取客户端真实IP地址的两种方法
- 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享
- java程序调用存储过程得到新增加记录的id号的方法
- 浅谈Java数组的一些使用方法及堆栈存储
- Java对存储过程的调用方法
- Java网络编程从入门到精通(7):用getHostAddress方法获得IP地址
- java中获取当前服务器的Ip地址的方法
- java方法区存储了什么?
- MySQL存储IP地址的方法
- String类型存储到Clob类型的方法、java存储时间戳
- Java调用存储过程时报 The user specified as a definer ('root'@'%') does not exist 解决方法
- JAVA实现类似C语言联合体般 充分使用bit位存储数据的方法之一
- Java8的HashMap详解(存储结构,功能实现,扩容优化,线程安全,遍历方法)
- 数据存储——Java数组,去掉重复值、增加、删除数组元素的实现方法
- 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享
- Java利用Request请求获取IP地址的方法详解
- Java获取客户端真实IP地址的两种方法