<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java Source

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      14 Posts :: 24 Stories :: 8 Comments :: 0 Trackbacks
    去除0.0.0.255和0.0.0.0
    import java.net.Inet4Address;
    import java.net.InetAddress;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;

    /**
     * 
    @author justinlei (justinlei@gmail.com)
     * @date Nov 17, 2011
     * 
    @version 1.0
     
    */
    public class InetAddressUtil {
        
    public static void main(String[] args) throws Exception {
            Inet4Address start 
    = (Inet4Address)Inet4Address.getByName("172.20.0.254");
            Inet4Address end 
    = (Inet4Address)Inet4Address.getByName("172.20.10.1");
            List
    <byte[]> list = getRangeIps(null,start.getAddress(), end.getAddress());
            
    for (byte[] bs : list) {
                System.out.println(InetAddress.getByAddress(bs).getHostAddress());
            }
        }
        
        
    public static List<byte[]> getRangeIps(List<byte[]> list,byte[] addrBytes,byte[] endBytes) throws Exception {
            
    byte[] _b = new byte[addrBytes.length];
            System.arraycopy(addrBytes, 
    0, _b, 0, addrBytes.length);
            
    if(_b[3== -1)
                _b[
    3= -2;
            
    if(list == null) {
                list 
    = new ArrayList<byte[]>();
                list.add(_b);
            }
            
    if(list.size() == 5000)
                
    return list;
            
    if(addrBytes[2== -1 && addrBytes[3== -2)
                
    return list;
            
    if(Arrays.equals(addrBytes, endBytes)) {
                
    return list;
            }
            
    int lastpart = addrBytes[addrBytes.length - 1];
            
    if(lastpart != -2) {
                addrBytes[addrBytes.length 
    - 1= (byte)(addrBytes[3+ 1);
                _b 
    = new byte[addrBytes.length];
                System.arraycopy(addrBytes, 
    0, _b, 0, addrBytes.length);
                list.add(_b);
            } 
    else if(lastpart == -2) {
                addrBytes[addrBytes.length 
    - 1= 1;
                list.add(plus(addrBytes, addrBytes.length 
    - 2));
            }
    //        System.out.println(InetAddress.getByAddress(addrBytes).getHostAddress());
            return getRangeIps(list,addrBytes, endBytes);
        }
        
        
    public static byte[] plus(byte[] addrBytes,int index) throws Exception {
            
    if(index == 0)
                
    return addrBytes;
            
    int pluspart = addrBytes[index];
            
    if(pluspart != -2) {
                addrBytes[index] 
    = (byte)(pluspart + 1);
                
    for (int i = index + 1; i < addrBytes.length - 1; i++) {
                    addrBytes[i] 
    = 0;
                }
                
    byte[] _b = new byte[addrBytes.length];
                System.arraycopy(addrBytes, 
    0, _b, 0, addrBytes.length);
                
    return _b;
            } 
    else {
                
    byte[] _b = new byte[addrBytes.length];
                System.arraycopy(addrBytes, 
    0, _b, 0, addrBytes.length);
                
    return plus(_b, index -1);
            }
        }
    }
    posted on 2011-12-04 03:08 JustinLei 閱讀(464) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成无码网站在线观看 | 99爱在线精品视频免费观看9| 免费中文字幕不卡视频| 中文有码亚洲制服av片| 无码国产精品一区二区免费I6| 亚洲制服中文字幕第一区| 99免费观看视频| 亚洲国产精品综合一区在线| 日韩不卡免费视频| 亚洲大码熟女在线观看| 国产午夜鲁丝片AV无码免费| 免费一级毛片在线播放放视频| 中文字幕专区在线亚洲| 国产免费网站看v片在线| 亚洲视频一区二区三区| 青青青国产在线观看免费| 亚洲精品理论电影在线观看| 国产又大又粗又硬又长免费| 成人网站免费大全日韩国产| 亚洲VA中文字幕无码毛片| 1a级毛片免费观看| 亚洲av永久中文无码精品| 亚洲午夜福利精品无码| 国内精品免费视频精选在线观看| 自怕偷自怕亚洲精品| 啦啦啦www免费视频| 狠狠躁狠狠爱免费视频无码| 亚洲一卡2卡三卡4卡有限公司| 无码免费午夜福利片在线 | 2022国内精品免费福利视频| 亚洲AV无码国产丝袜在线观看| 四虎精品视频在线永久免费观看| 亚洲码欧美码一区二区三区| 亚洲中文字幕在线观看| 久久久久av无码免费网| 妇女自拍偷自拍亚洲精品| 国产亚洲人成网站观看| 成年大片免费视频| 大地资源在线资源免费观看| 亚洲色欲色欱wwW在线| 国产l精品国产亚洲区在线观看|