Java IP相关操作
简介
本篇文章,记录Java中与IP相关的一些操作封装:IPV4地址与数字之间的互转、判断某个ip是否在一个网段内、判断A子网是否属于B子网
IPV4地址与数字的互转
package cn.nssas.eelantech.utils;
public class IPV4Util {
/**
* @param ipAddress
* @return
*/
public static long ipToLong(String ipAddress) {
long result = 0;
String[] ipAddressInArray = ipAddress.split("\\.");
for (int i = 3; i >= 0; i--) {
long ip = Long.parseLong(ipAddressInArray[3 - i]);
// left shifting 24,16,8,0 and bitwise OR
// 1. 192 << 24
// 1. 168 << 16
// 1. 1 << 8
// 1. 2 << 0
result |= ip << (i * 8);
}
return result;
}
/**
* @param ip
* @return
*/
public static String longToIp(long ip) {
StringBuilder result = new StringBuilder(15);
for (int i = 0; i < 4; i++) {
result.insert(0, Long.toString(ip & 0xff));
if (i < 3) {
result.insert(0, '.');
}
ip = ip >> 8;
}
return result.toString();
}
/**
* @param ip
* @return
*/
public static String longToIp2(long ip) {
return ((ip >> 24) & 0xFF) + "." + ((ip >> 16) & 0xFF) + "."
+ ((ip >> 8) & 0xFF) + "." + (ip & 0xFF);
}
}
java判断某个ip是否在一个网段内 ip/mask IP+掩码
package com.ip;
public class IpTest {
public static void main(String[] args) {
System.out.println(isInRange("192.168.1.127", "192.168.1.64/26"));
System.out

本文介绍了如何在Java中进行IP相关的操作,包括IPV4地址与数字的互转,判断IP是否在指定网段内,以及子网归属判断。这些知识在实现ShardingSphere JDBC的多数据库源配置时可能会用到。
最低0.47元/天 解锁文章
1352

被折叠的 条评论
为什么被折叠?



