Проверить действительный адрес IPv4 в Java

Я использую пакет sun.net.util.IPAddressUtil , чтобы проверить, содержит ли строка действительный адрес IPv4 и IPv6 или нет.

Фрагмент кода: -

String ipv4addr="200";

    if(IPAddressUtil.isIPv4LiteralAddress(ipv4addr))
    {
        System.out.println("valid ipv4 address");
    }
    else
    {
        System.out.println("not valid");

    }

Но для таких адресов, как 200 и 300, он по-прежнему говорит, что это действительный адрес IPv4, а это не так. Когда я использовал тот же пакет и проверил адрес IPV6, используя: -

String ipv6addr="200";

    if(IPAddressUtil.isIPv6LiteralAddress(ipv6addr))
    {
        System.out.println("valid ipv6 address");
    }
    else
    {
        System.out.println("not valid");

    }

Я получаю правильный результат. Однако IPv4 не работает или, возможно, я использую его неправильно. Пожалуйста, помогите мне. Я не хочу использовать регулярное выражение для проверки IPv4 ...

5
задан Justin Krejcha 7 April 2015 в 06:49
поделиться