zoukankan      html  css  js  c++  java
  • java-根据起止IP获取IP段集合

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.PrintStream;
    
    
    public class IPTest {
    
        public static void main(String[] args) {
            /*Long ip = getIp2long("10.0.35.120");
            System.out.println("ip --> " +ip);
    
            Long ip2 = getIp2long2("10.0.35.120");
            System.out.println("ip2 --> " +ip2);*/
    
            fun1();
        }
    
    
    
    
    
        public static long getIp2long(String ip) {
    
            ip = ip.trim();
    
            String[] ips = ip.split("\.");
    
            long ip2long = 0L;
    
            for (int i = 0; i < 4; ++i) {
    
            ip2long = ip2long << 8 | Integer.parseInt(ips[i]);
    
            }
    
            return ip2long;
    
        }
    
        public static long getIp2long2(String ip) {
    
            ip = ip.trim();
    
            String[] ips = ip.split("\.");
    
           long ip1 = Integer.parseInt(ips[0]);
    
           long ip2 = Integer.parseInt(ips[1]);
    
           long ip3 = Integer.parseInt(ips[2]);
    
           long ip4 = Integer.parseInt(ips[3]);
    
    
    
           long ip2long =1L* ip1 * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4;
    
           return ip2long;
    
        }
    
        public static void  fun1(){
    
            PrintStream ps = null;
            try {
                ps = new PrintStream(new File("C:\IP.txt"));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            int ipstart,ipend;
    
            //String ipstr="10.46.40.1--10.46.88.127";
            String ipstr="1.1.1.1--1.1.1.1";
    
    
            String sa[]=ipstr.split("--");
            ipstart=ip2int(sa[0]);
            ipend=ip2int(sa[1]);
            //System.out.println("ipstart --" + ipstart);
            //System.out.println(ipend);
            System.out.println(ipend-ipstart+1);
            String []result=new String[ipend-ipstart+1];
            for(int i=0;i<result.length;i++){
                String ip = int2ip(ipstart+i);
                System.out.println("i --> " +  ip);
                String[] ipArr = ip.split("\.");
                if("0".equals(ipArr[3]) || "255".equals(ipArr[3])){
                    continue;
                }
                ps.println(ip);
            }
    
        }
    
        public static String int2ip(int l){
            //System.out.println("l--> " +l);
            int a = l/(256*256*256);
            int b = (l-a*256*256*256)/(256*256);
            int c = (l-a*256*256*256-b*256*256)/256;
            int d = (l-a*256*256*256-b*256*256-c*256);
            //return l/(256*256*256)+"."+l/(256*256)+"."+l/256+"."+l%256;
            return a+"."+b+"."+c+"."+d;
         }
    
        public static int ip2int(String ip){
            String[] sa=ip.split("\.");
            return Integer.parseInt(sa[0])*(256*256*256)+Integer.parseInt(sa[1])*(256*256)+Integer.parseInt(sa[2])*256+Integer.parseInt(sa[3]);
        }
    
    
    
    
    }
  • 相关阅读:
    微信小程序之自定义模态弹窗(带动画)实例
    微信小程序之底部弹框预约插件
    Android WiFi直连 双向通信
    基于SpringBoot的项目管理后台
    Android WiFi热点7.1以上版本适配
    Android蓝牙——HID开发
    命令行视频(ts/m3u8)下载工具 —— youtube-dl(ffmpeg 解码)
    cool 软件 —— Carnac(实时桌面显示按键)
    认识 ARM、FPGA
    scikit-learn 学习笔记-- Generalized Linear Models (三)
  • 原文地址:https://www.cnblogs.com/My-Cloud/p/4597782.html
Copyright © 2011-2022 走看看