java如何将unsigned long 型的IP转换为字符串类型的IP??我是输入的格式10.1.1.123这样的,然后转换成int格式的存入数据库,再从数据库中取出来显示时还要是10.1.1.123这中格式我存的时候是将
ip这样处理ip.trim().split("\\.");成一个字符串数组再按照IP的格式处理成的int类型的值
ip这样处理ip.trim().split("\\.");成一个字符串数组再按照IP的格式处理成的int类型的值
解决方案 »
- Web Service 异常:服务器未能识别 HTTP 头 SOAPAction 的值: http://tempuri.org/
- eclipse maven tomcat 部署项目问题
- action 发送信息 到 打印机 将内容打印问题 求大家帮忙 我可以给钱的啊
- 存储过程里用了数据链路 程序调的话报cursor closed
- 用JS验证页面多个相同的<html:text property="xxx">
- https协议弹出“安全信息”对话框怎么解决
- 百分求助,SQL语句错误,谢谢先
- 在没有JDK的机子上如何运行class文件?
- 这个在哪里能下载到啊?
- 在JBuilder中如何实现打印,打印预览,页面设置的功能(急急急!!!!)
- jquery form的问题
- 请教一个web.xml的error-page问题,谢谢~~
import java.util.regex.Pattern;public class Test6 {
private final static String IPV4_REGEX = "(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])(?:\\.(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}";
public final static Matcher IPV4_MATCHER = Pattern.compile(IPV4_REGEX).matcher("");
public static void main(String[] args) {
String str = "10.1.1.223";
int s = ipv4ToInt(str);
System.out.println(int4Ipv4(s));
}
public static int ipv4ToInt(String ipv4) {
if(!IPV4_MATCHER.reset(ipv4).matches()) {
throw new IllegalArgumentException("IPv4 format ERROR!");
}
String[] strs = ipv4.split("\\.");
int result = 0;
for(int i = 0, k = strs.length; i < k; i++) {
result |= Integer.parseInt(strs[i]) << ((k - 1 - i) * 8);
}
return result;
}
public static String int4Ipv4(int ipv4Int) {
StringBuilder sb = new StringBuilder(15);
for(int i = 0; i < 4; i++) {
if(i > 0) {
sb.append('.');
}
sb.append((ipv4Int >>> ((3 - i) * 8)) & 0xff);
}
return sb.toString();
}
}