java代码怎么校验IPV4和IPV6
时间: 2024-03-10 14:46:27 浏览: 21
可以使用Java中的InetAddress类来校验IPV4和IPV6地址,示例如下:
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IPAddressValidator {
public static boolean isValidIPv4(String ip) {
boolean isValid = false;
try {
InetAddress address = InetAddress.getByName(ip);
isValid = address.getHostAddress().equals(ip)
&& address instanceof java.net.Inet4Address;
} catch (UnknownHostException ex) {
// ignore
}
return isValid;
}
public static boolean isValidIPv6(String ip) {
boolean isValid = false;
try {
InetAddress address = InetAddress.getByName(ip);
isValid = address.getHostAddress().equals(ip)
&& address instanceof java.net.Inet6Address;
} catch (UnknownHostException ex) {
// ignore
}
return isValid;
}
}
```
上述代码中使用了InetAddress类的getByName()方法来获取InetAddress对象,然后通过判断该对象的类型来校验IP地址是否合法。如果是IPv4地址,则返回java.net.Inet4Address类型;如果是IPv6地址,则返回java.net.Inet6Address类型。