ip地址的几种处理方式
来源:互联网 发布:数据库系统概念第六版 编辑:程序博客网 时间:2024/06/06 00:38
读入String类型的ip地址,几种处理方式如下:
1. ip分段,不足三位处补0
String myIp = "200.22.22.228";//先对每段ip追加两个0,再保留后三位,从而将ip地址转换为每段3位的格式myIp = myIp.replaceAll("(\\d{1,3})", "00$1");myIp = myIp.replaceAll("0*(\\d{3})", "$1");System.out.println(myIp);
public String removeZero(String ip) {if(ip != "") {String[] ss = ip.split("\\.");ip = "";for(int i = 0; i < ss.length; i++) {ip += ss[i].replaceAll("^[0]+", "");//或采用ip转成int再转回来if(i != ss.length - 1) {ip += ".";}}}return ip;}
3. String型ip转换为对应的32位long型数
public long getLongIp(String ip) {long longIp = 0;if(ip != "") {String[] ss = ip.split("\\.");for(int i = 0; i < ss.length; i++) {//移位运算一定要加()!!longIp = (longIp<<8) + Integer.parseInt(ss[i]);}}return longIp;}或利用scanner直接读取long
public long getLongIp2(String ip) {Scanner sc = new Scanner(ip).useDelimiter("\\.");return (sc.nextLong()<<24) + (sc.nextLong()<<16) + (sc.nextLong()<<8) + (sc.nextLong());}
4. 遍历某个ip段内所有ip地址(重要)
将ip转为Int型数组,每段代表一个0-255的数,对数组进行循环进位操作
public Object[] getAllIp(String startIp, String endIp) { ArrayList<String> ips = new ArrayList<String>(); String[] astartIp = startIp.split("\\."); String[] aendIp = endIp.split("\\."); int[] istartIp = new int[4]; int[] iendIp = new int[4]; for (int i = 0; i < 4; i++) { istartIp[i] = Integer.parseInt(astartIp[i]); iendIp[i] = Integer.parseInt(aendIp[i]); } for (int A = istartIp[0]; A <= iendIp[0]; A++) { for (int B = (A == istartIp[0] ? istartIp[1] : 0); B <= (A == iendIp[0] ? iendIp[1] : 255); B++) { for (int C = (B == istartIp[1] ? istartIp[2] : 0); C <= (B == iendIp[1] ? iendIp[2] : 255); C++) { for (int D = (C == istartIp[2] ? istartIp[3] : 0); D <= (C == iendIp[2] ? iendIp[3] : 255); D++) { ips.add(new String(A + "." + B + "." + C + "." + D)); } } } } return ips.toArray();}
0 0
- ip地址的几种处理方式
- 网络攻击知识之几种IP地址攻击方式
- 网络攻击知识之几种IP地址攻击方式
- centos设置ip地址的几种方式及存在问题解决
- 几种获取IP地址的协议
- 获取客户端IP的几种方式
- 获取真实IP的几种方式
- route IP 地址的处理
- 异常处理的几种方式
- 图片的几种处理方式
- 理一理********异常的几种处理方式
- 处理字符乱码的几种方式
- java处理clob的几种方式
- 常用的几种字符串处理方式
- PHP处理密码的几种方式
- PHP处理密码的几种方式
- 图片的几种处理方式
- PHP处理密码的几种方式
- Mac Command line
- HDU 1847 Good Luck in CET-4 Everybody!(博弈sg函数)
- c#添加事件,以xtraTabPage控件添加MouseWheel事件为例,实现图像的放大缩小
- OpenCart 常见错误解决
- 3DGIS第三章 约束条件下二次误差度量简化方法
- ip地址的几种处理方式
- Camera Calibration and 3D Reconstruction(opencv 2.4)
- LintCode(M)带min函数的栈
- 跨域CORS原理及调用具体示例
- 百度API接口开发,创建标注和Label标签。
- iOS -- 网络请求到的数据,中文出现乱码!!!
- JVM总结-内存监视手段及各区域内存溢出解决
- OpenGL中的轨迹球问题
- Log4j