1

の形式からIPの範囲を取得するJavaで簡単な方法はありますか

175.25.0.0/16

175.25.0.0-175.25.255.255のように

4

1 に答える 1

0

public String getHostAddressRange(String netmaskNumeric) {

    int numberOfBits;
    for (numberOfBits = 0; numberOfBits < 32; numberOfBits++) {

        if ((netmaskNumeric << numberOfBits) == 0)
            break;
    }
    Integer numberOfIPs = 0;
    for (int n = 0; n < (32 - numberOfBits); n++) {

        numberOfIPs = numberOfIPs << 1;
        numberOfIPs = numberOfIPs | 0x01;

    }

    Integer baseIP = baseIPnumeric & netmaskNumeric;
    String firstIP = convertNumericIpToSymbolic(baseIP + 1);
    String lastIP = convertNumericIpToSymbolic(baseIP + numberOfIPs - 1);
    return firstIP + " - " + lastIP;
}
于 2013-11-13T05:21:02.853 に答える