检查子网是否包含特定的IP地址。
/** * Copyright 2009-2011 ?cole de technologie sup?rieure, * Communication Research Centre Canada, * Inocybe Technologies Inc. and 6837247 CANADA Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package com.nowjava; /* 来自 *nowjava - 时代Java*/ import java.net.InetAddress; public class Main { /** * Checks if a subnet contains a specific IP address. * @param network The network address. * @param netmask The subnet mask. * @param ip The IP address to check. * @return A boolean value. */ public static boolean contains(InetAddress network, InetAddress netmask, InetAddress ip) { byte[] networkBytes = network.getAddress(); byte[] netmaskBytes = netmask.getAddress(); byte[] ipBytes = ip.getAddress(); /* check IPv4/v6-compatibility or parameters: *//** N o w J a v a . c o m - 时 代 Java 提 供 **/ if (networkBytes.length != netmaskBytes.length || netmaskBytes.length != ipBytes.length) { return false; } /* Check if the masked network and ip addresses match: */ for (