获取IP子网掩码
//来自 nowjava - 时代Java import java.util.ArrayList; import java.util.regex.Pattern; public class Main{ public static void main(String[] argv) throws Exception{ int cidr = 2; System.out.println(getSubnetMask(cidr)); } public static String getSubnetMask(final int cidr) throws InvalidIPAddressException { return numberToIP(getSubnetMaskNumeric(cidr)); } public static String numberToIP(long addr) throws InvalidIPAddressException { if (addr < 0L || addr > 4294967295L) { throw new InvalidIPAddressException("Invalid IP");/*来 自 N o w J a v a . c o m*/ } StringBuilder ip = new StringBuilder(); ip.append((addr >> 24) & 0xFF).append("."); ip.append((addr >> 16) & 0xFF).append("."); ip.append((addr >> 8) & 0xFF).append("."); ip.append((addr) & 0xFF); return ip.toString(); } public static long getSubnetMaskNumeric(final int cidr) throws InvalidIPAddressException { if (cidr > 32 || cidr < 0) throw new InvalidIPAddressException( "CIDR can not be greater than 32"); // starting /24 netmask, in decimal (255.255.255.0) long netmask = 4294967040L; // calculating and correcting netmask if (cidr > 24) { for (long i = cidr; i > 24; i--) { netmas