gpt4 book ai didi

java - Guava com.google.common.net.InetAddresses

转载 作者:行者123 更新时间:2023-12-02 07:45:34 24 4
gpt4 key购买 nike

我想在 java 中检查 IP 地址(IPv4、IPv6)是否有效。

在我看来,Google 的 Guava 库是一个可行的选择。它的 isInetAddress(String ipString) 方法对于 IPv4 地址效果很好。但是,对于 IPv6 地址,我必须使用 isIatapAddress(Inet6Address ip) 方法。

问题是我想使用 void main(String []args) 中的 args 来捕获用户的输入,并且由于该方法需要 Inet6Address 对象我不知道该怎么做。

最佳答案

InetAddresses.isInetAddress(String)应该适用于 IPv4 和 IPv6 地址。

如果您还想接受类似 2607:f0d0:1002:51::4/64 的内容,您可以用一点indexOf和子字符串去掉网络掩码,我认为没有Guava 中还有一个方法:

static boolean isInetAddressOrBlock(String address) {
int slash = address.lastIndexOf('/');
if (slash != -1) {
address = address.substring(0, slash);
}
return InetAddresses.isInetAddress(address);
}

如果您考虑使用 sun.net.util.IPAddressUtil,请不要 -- sun.* 包是 JRE 的实现细节,并不意味着要使用并且并非在所有 JRE 上都可用。

关于java - Guava com.google.common.net.InetAddresses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com