今天遇到这样的需求,写出了方法,后来发现又用不上了,方便下次用还是做笔记吧
/*将字符串形式的ip地址转换成整形数字*/
public int iPToInt(String ip)
{
int retval = 0;
Pattern pattern = Pattern.compile("[.]+");
String[] ips = pattern.split(ip);
retval += Integer.parseInt(ips[3]);
retval += Integer.parseInt(ips[2]) << 8;
retval += Integer.parseInt(ips[1]) << 16;
retval += Integer.parseInt(ips[0]) << 24;
return retval;
}
/*整形ip转换成字符串形式*/
private String ipToStr(int addr) {
StringBuffer buf = new StringBuffer();
buf.insert(0, (addr & 0xff)).insert(0, '.').
insert(0, (addr >>>= 8) & 0xff).insert(0, '.').
insert(0, (addr >>>= 8) & 0xff).insert(0, '.').
insert(0, (addr >>>= 8) & 0xff);
return buf.toString();
}