重庆家居网站制作公司傻瓜建网站

news/2025/9/27 4:19:17/文章来源:
重庆家居网站制作公司,傻瓜建网站,网页源代码搜索关键字,WORDPRESS添加注册登入功能java处理ip的工具类#xff0c;包括把long类型的Ip转为一般Ip类型、把xx.xx.xx.xx类型的转为long类型、根据掩码位获取掩码、根据 ip/掩码位 计算IP段的起始IP、根据 ip/掩码位 计算IP段的终止IP等方法#xff0c;可以直接使用#xff01;package com.hh.test;import java.u…java处理ip的工具类包括把long类型的Ip转为一般Ip类型、把xx.xx.xx.xx类型的转为long类型、根据掩码位获取掩码、根据 ip/掩码位 计算IP段的起始IP、根据 ip/掩码位 计算IP段的终止IP等方法可以直接使用package com.hh.test;import java.util.HashMap;import java.util.Map;import org.apache.commons.lang3.StringUtils;/*** IP工具类** author bl* email kutekute00gmail.com**/public class IPUtils{/*** 把long类型的Ip转为一般Ip类型xx.xx.xx.xx** param ip* return*/public static String getIpFromLong(Long ip){String s1 String.valueOf((ip 4278190080L) / 16777216L);String s2 String.valueOf((ip 16711680L) / 65536L);String s3 String.valueOf((ip 65280L) / 256L);String s4 String.valueOf(ip 255L);return s1 . s2 . s3 . s4;}/*** 把xx.xx.xx.xx类型的转为long类型的** param ip* return*/public static Long getIpFromString(String ip){Long ipLong 0L;String ipTemp ip;ipLong ipLong * 256 Long.parseLong(ipTemp.substring(0, ipTemp.indexOf(.)));ipTemp ipTemp.substring(ipTemp.indexOf(.) 1, ipTemp.length());ipLong ipLong * 256 Long.parseLong(ipTemp.substring(0, ipTemp.indexOf(.)));ipTemp ipTemp.substring(ipTemp.indexOf(.) 1, ipTemp.length());ipLong ipLong * 256 Long.parseLong(ipTemp.substring(0, ipTemp.indexOf(.)));ipTemp ipTemp.substring(ipTemp.indexOf(.) 1, ipTemp.length());ipLong ipLong * 256 Long.parseLong(ipTemp);return ipLong;}/*** 根据掩码位获取掩码** param maskBit*            掩码位数如28、30* return*/public static String getMaskByMaskBit(String maskBit){return StringUtils.isEmpty(maskBit) ? error, maskBit is null !: maskBitMap().get(maskBit);}/*** 根据 ip/掩码位 计算IP段的起始IP 如 IP串 218.240.38.69/30** param ip*            给定的IP如218.240.38.69* param maskBit*            给定的掩码位如30* return 起始IP的字符串表示*/public static String getBeginIpStr(String ip, String maskBit){return getIpFromLong(getBeginIpLong(ip, maskBit));}/*** 根据 ip/掩码位 计算IP段的起始IP 如 IP串 218.240.38.69/30** param ip*            给定的IP如218.240.38.69* param maskBit*            给定的掩码位如30* return 起始IP的长整型表示*/public static Long getBeginIpLong(String ip, String maskBit){return getIpFromString(ip) getIpFromString(getMaskByMaskBit(maskBit));}/*** 根据 ip/掩码位 计算IP段的终止IP 如 IP串 218.240.38.69/30** param ip*            给定的IP如218.240.38.69* param maskBit*            给定的掩码位如30* return 终止IP的字符串表示*/public static String getEndIpStr(String ip, String maskBit){return getIpFromLong(getEndIpLong(ip, maskBit));}/*** 根据 ip/掩码位 计算IP段的终止IP 如 IP串 218.240.38.69/30** param ip*            给定的IP如218.240.38.69* param maskBit*            给定的掩码位如30* return 终止IP的长整型表示*/public static Long getEndIpLong(String ip, String maskBit){return getBeginIpLong(ip, maskBit) ~getIpFromString(getMaskByMaskBit(maskBit));}/*** 根据子网掩码转换为掩码位 如 255.255.255.252转换为掩码位 为 30** param netmarks* return*/public static int getNetMask(String netmarks){StringBuffer sbf;String str;int inetmask 0, count 0;String[] ipList netmarks.split(\\.);for (int n 0; n ipList.length; n){sbf toBin(Integer.parseInt(ipList[n]));str sbf.reverse().toString();count 0;for (int i 0; i str.length(); i){i str.indexOf(1, i);if (i -1){break;}count;}inetmask count;}return inetmask;}/*** 计算子网大小** param netmask*            掩码位* return*/public static int getPoolMax(int maskBit){if (maskBit 0 || maskBit 32){return 0;}return (int) Math.pow(2, 32 - maskBit) - 2;}private static StringBuffer toBin(int x){StringBuffer result new StringBuffer();result.append(x % 2);x / 2;while (x 0){result.append(x % 2);x / 2;}return result;}/** 存储着所有的掩码位及对应的掩码 key:掩码位 value:掩码(x.x.x.x)*/private static Map maskBitMap(){Map maskBit new HashMap();maskBit.put(1, 128.0.0.0);maskBit.put(2, 192.0.0.0);maskBit.put(3, 224.0.0.0);maskBit.put(4, 240.0.0.0);maskBit.put(5, 248.0.0.0);maskBit.put(6, 252.0.0.0);maskBit.put(7, 254.0.0.0);maskBit.put(8, 255.0.0.0);maskBit.put(9, 255.128.0.0);maskBit.put(10, 255.192.0.0);maskBit.put(11, 255.224.0.0);maskBit.put(12, 255.240.0.0);maskBit.put(13, 255.248.0.0);maskBit.put(14, 255.252.0.0);maskBit.put(15, 255.254.0.0);maskBit.put(16, 255.255.0.0);maskBit.put(17, 255.255.128.0);maskBit.put(18, 255.255.192.0);maskBit.put(19, 255.255.224.0);maskBit.put(20, 255.255.240.0);maskBit.put(21, 255.255.248.0);maskBit.put(22, 255.255.252.0);maskBit.put(23, 255.255.254.0);maskBit.put(24, 255.255.255.0);maskBit.put(25, 255.255.255.128);maskBit.put(26, 255.255.255.192);maskBit.put(27, 255.255.255.224);maskBit.put(28, 255.255.255.240);maskBit.put(29, 255.255.255.248);maskBit.put(30, 255.255.255.252);maskBit.put(31, 255.255.255.254);maskBit.put(32, 255.255.255.255);return maskBit;}/*** 根据掩码位获取掩码** param masks* return*/Deprecatedpublic static String getMaskByMaskBit(int masks){String ret ;if (masks 1)ret 128.0.0.0;else if (masks 2)ret 192.0.0.0;else if (masks 3)ret 224.0.0.0;else if (masks 4)ret 240.0.0.0;else if (masks 5)ret 248.0.0.0;else if (masks 6)ret 252.0.0.0;else if (masks 7)ret 254.0.0.0;else if (masks 8)ret 255.0.0.0;else if (masks 9)ret 255.128.0.0;else if (masks 10)ret 255.192.0.0;else if (masks 11)ret 255.224.0.0;else if (masks 12)ret 255.240.0.0;else if (masks 13)ret 255.248.0.0;else if (masks 14)ret 255.252.0.0;else if (masks 15)ret 255.254.0.0;else if (masks 16)ret 255.255.0.0;else if (masks 17)ret 255.255.128.0;else if (masks 18)ret 255.255.192.0;else if (masks 19)ret 255.255.224.0;else if (masks 20)ret 255.255.240.0;else if (masks 21)ret 255.255.248.0;else if (masks 22)ret 255.255.252.0;else if (masks 23)ret 255.255.254.0;else if (masks 24)ret 255.255.255.0;else if (masks 25)ret 255.255.255.128;else if (masks 26)ret 255.255.255.192;else if (masks 27)ret 255.255.255.224;else if (masks 28)ret 255.255.255.240;else if (masks 29)ret 255.255.255.248;else if (masks 30)ret 255.255.255.252;else if (masks 31)ret 255.255.255.254;else if (masks 32)ret 255.255.255.255;return ret;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型function calling多轮对话开发示例

OpenAI接口支持的function calling使得大模型能够方便的集成外部能力和数据,是实现agent(智能体)的重要基础,能让LLM和各种功能集成,从而解决复杂的问题。 对于兼容openai接口的大模型如阿里的通义千问,也是可以使…

ViTables 安装与 HDF5 数据可视化全指南 - 实践

ViTables 安装与 HDF5 数据可视化全指南 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

elementuiplus修改el-checked多选框样式

elementuiplus修改el-checked多选框样式废话不多说直接上代码: 1、给check加类名 2、css样式:/deep/.image-checkbox .el-checkbox__input .el-checkbox__inner {/* 隐藏原生复选框 */display: none; }/deep/.image…

怎样用dw做 网站首页网站关键词排行查询

首先,对于零基础的想学习C的同学,我想要你们先明白一件事:C是一门极为复杂且难以掌握的编程语言。因此推荐在学习C之前可以先去学习C语言,在拥有了一定的知识储备和编程能力后再学习C会更加的高效和相对轻松。 下面推荐从三个方面…

宜昌营销网站建设ppt模板免费下载素材医学类

一,dns与域名 网络基于tcp/ip协议进行通信和连接的,其中主机以ip地址做固定的地址标识,用以区分用户和计算机。ip地址是由32位二进制数组成,不方便记忆。为了方便记忆,采用了域名。但是网络通信的唯一标识是ip地址&…

DataGrip格式化SQL模板

个人使用比较好的,各位可以根据自己的使用习惯自行调整。 点击下载

靶向肽Dcpep - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做一个网站完整的网页app软件开发sh365

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言一、空间范围中点位数量的快速统计算法1.引入库2.百度地图基于范围的搜索 Java 前…

企业网站制作机构排名wordpress html音乐

基于STM32单片机多功能智能小车功能说明: TFTLCD显示按键LVGL(菜单、小车工作模式选择、设置)手机蓝牙遥控模式射频手柄遥控模式5路红外寻迹模式超声波避障模式语音播报低功耗控制 硬件原理图设计 单片机最小系统: 由于要使用…

怎么做盗号网站手机开发一个小程序游戏要多少钱

617.合并二叉树(经典) 合并二叉树是操作两棵树的题目里面很经典的,如何对两棵树遍历以及处理? 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并…

在库言库建筑网站网页制作模板田田田田田田田田田田田田田田

1 vi 简介vi 编辑器是 Linux 和 Unix 上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi 是效率很高的文本编辑器。尽管在 Linux 上也有很多图形界面的编辑器可用,但 vi 在系统和服务器管理中的功能是那些图形编辑器所无法比拟的…

图思维胜过链式思维:JGraphlet构建任务流水线的八大核心原则

JGraphlet是一个轻量级零依赖的Java任务流水线库,采用有向无环图模型管理任务依赖关系。支持同步/异步任务混合执行、显式API设计、扇入输入处理、资源生命周期管理、上下文共享和可选缓存机制,适用于并行检索、数据…

两月九城,纷享销客渠道携手伙伴共创CRM新纪元

9月18日,SCEE 2025 中国软件渠道生态大会华南峰会在深圳成功举办。纷享销客作为中国 CRM 行业领导者再度登台,全国渠道运营负责人冯涛发表《智享未来,创领CRM新纪元》主题演讲,向华南区域伙伴全面传递纷享销客渠道…

el-upload上传图片

<el-upload上传图片1 官方文档文档2 说明这个组件提供了一种默认的上传模式,点击图片上传的时候就自动把图片发送到服务端,而不是在提交表单的时候上传。这钟模式不够灵活,也可以设置不自动上传到服务器,自己提…

wordpress 爱奇艺插件下载专业的网站优化公司

一、ADC简介 ADC是Analog-to-DigitalConverter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。 STM32f103 系列有3个ADC&#xff0c;精度为12位&#xf…

东莞网站建设企业营销型网站建设哪家好

1、第一步肯定是要新建自己还原的目标数据库&#xff0c;例如&#xff1a; 2、进入postgresql的安装目录下的bin目录下 然后地址栏输入cmd进入命令 输入以下 psql -h localhost -U postgres -p 5432 -d SamsinoYardStandard_karamay -f "D:\desktop\zk\20230628.bak&quo…

做网站为什么要用php哈尔滨做设计和网站的公司吗

前几天讲了数据分析中SQL的基本使用方法以及具体案例分析思路&#xff0c;接下来会继续讲统计基础以及在SAS软件内的应用&#xff0c;在这之前&#xff0c;本文先进行SAS基础使用编程的基础介绍&#xff0c;后续会主要阐述SAS软件内的统计数学的应用&#xff0c;如分析或初步建…

学校微网站模板下载建设网站优化

每天学习一个Linux命令之paste 介绍 在Linux系统中&#xff0c;有许多强大而实用的命令&#xff0c;它们可以帮助我们更高效地处理文本文件。其中一个有趣的命令就是paste。paste命令可以将多个文件的内容按列合并&#xff0c;并输出到标准输出或指定的文件中。 在本篇博客中…

建设网站群的指导思想龙岗爱联网站建设

导读&#xff1a; 前面章节&#xff0c;我们讲到过 接口&#xff08;Interface&#xff09;可以用于对「对象的形状&#xff08;Shape&#xff09;」进行描述。 本章节主要介绍接口的另一个用途&#xff0c;对类的一部分行为进行抽象。 类配合实现接口 实现&#xff08;impleme…