如何验证IP地址在Java上是否有效?

时间:2019-05-31 14:43:33

标签: java ip

我要在Java中验证IP地址,该怎么办? IP地址必须采用以下格式:xxx.xxx.xxx.xxx 每个八位位组范围必须为0〜255。

由于IP已验证,因此代码必须显示一条消息,告知该IP有效或无效。如果没有,则用户必须再次键入IP。

到目前为止,我已经完成了将IP字符串转换为整数数组的方法...


public static void verify() {
        Scanner input = new Scanner(System.in);     
        System.out.println("IP: (xxx.xxx.xxx.xxx)");
        String ipAddress = input.nextLine();
        int[] arrayIpAddress = Arrays.stream(ipAddress.split("\\.")).mapToInt(Integer::parseInt).toArray();
}

2 个答案:

答案 0 :(得分:0)

在您的特定情况下,您可以添加一个过滤器并检查结果数组的长度:

.id

注意:如果String ipAddress = input.nextLine(); boolean ipValid = Arrays .stream(ipAddress.split("\\.")) .mapToInt(Integer::parseInt) .filter(x -> x >= 0 && x <= 255) // remove invalid numbers .toArray().length == 4; // if the resulting length is 4, the ip is valid 抛出异常(例如,用户输入一些字母),则您的方法将失败,并且即使存在一些额外的点(例如, Integer.parseInt

答案 1 :(得分:-1)

您阅读过此post吗?这些也是通过谷歌搜索的最佳答案:how to validate ip address in javawikihow