iputil2

/**
* excludeAType=true ���Թ���A���127��ͷ��IP��ַ�����ⵥ��A06D18683
* @param strIp
* @param excludeAType
* @return
*/
public static long ipToLong(String strIp, boolean excludeAType)
{
if (!ipValid(strIp, excludeAType))
{
return 0;
}
int result = 0;
try
{
InetAddress addr = InetAddress.getByName(strIp);
byte[] bas = addr.getAddress();
result |= ((short) (bas[0] & 0x00ff) << 24);
result |= ((short) (bas[1] & 0x00ff) << 16);
result |= ((short) (bas[2] & 0x00ff) << 8);
result |= (short) (bas[3] & 0x00ff);

long ret = result >>> 1;
ret = ret << 1;
ret |= (result << 31) >>> 31;

return ret;
}
catch (UnknownHostException e)
{
logger.error(e.getMessage(), e);
}
return 0L;
}

public static String longToIP(Long longIp)
{
// StringBuffer sbIp = new StringBuffer();
// sbIp.append(longIp >>> 24);
// sbIp.append(".");
// sbIp.append((longIp & 0x00FFFFFF) >>> 16);
// sbIp.append(".");
// sbIp.append((longIp & 0x0000FFFF) >>> 8);
// sbIp.append(".");
// sbIp.append(longIp & 0x000000FF);
// return sbIp.toString();
if (longIp == null || longIp <= 0)
{
return "";
}
ByteBuffer buf = ByteBuffer.allocate(4);
int ret = (int) (longIp & 0x00000000ffffffff);
buf.putInt(ret);
InetAddress addr = null;
String ipAddress = "";
try
{
addr = InetAddress.getByAddress(buf.array());
ipAddress = addr.getHostAddress();
}
catch (UnknownHostException e)
{
logger.error(e.getMessage(), e);
}
return ipAddress;
}

/**
* ������ķ�����ͬ��ֻ�Dz���ΪLong
* @param ip
* @return
*/
public static boolean ipValid(Long ip)
{
String ips = longToIpStd(ip);
return ipValid(ips);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值