String类型IP转成int类型

    //把String类型的Ip地址转换成int类型
    public static int lookupHost(String hostname)
    {   
     InetAddress inetAddress;   
     try {       
      inetAddress = InetAddress.getByName(hostname);   
      } catch (UnknownHostException e)
      {       
       return -1;   
      }    
     byte[] addrBytes;  
     int addr;  
     addrBytes = inetAddress.getAddress();   
     addr = ((addrBytes[3] & 0xff) << 24)| ((addrBytes[2] & 0xff)<< 16)
       | ((addrBytes[1] & 0xff) << 8)
       | (addrBytes[0] & 0xff);    
    return addr;

    }


上面方法通过InetAddrss这个类把输入的String类型的IP或者域名转成byte数组,如果机器能联网,这个类能把域名转成对应的ip,再把IP转成字节数组,如果不能联网,而参数却是域名,那么IP变成255.255.255.255。


下面是把int型ip转成String型:

    private static String intToString(int a){
    	StringBuffer sb=new StringBuffer();
    	int b=(a>>0)&0xff;
    	sb.append(b+".");
    	b=(a>>8)&0xff;
    	sb.append(b+".");
    	b=(a>>16)&0xff;
    	sb.append(b+".");
    	b=(a>>24)&0xff;
    	sb.append(b);
		return sb.toString();
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值