Я использую пакет 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 ...