首页 > 编程语言 >Java 读取 IP 地址

Java 读取 IP 地址

时间:2024-03-05 19:35:24浏览次数:29  
标签:Java 读取 ip 地址 IP 字符串 InetAddress

使用 InetAddress 类

可以利用 Java 自带的 InetAddress 类来检查一个字符串是否为有效的 IP 地址:

import java.net.InetAddress;  // 导入 InetAddress 类
import java.net.UnknownHostException;  // 导入错误类

public class IPAddressUtil {
    // 测试输入的字符串参数 ip 是否为有效的 IP 地址
    public static boolean isValidIPAddress(String ip) {
        try {
            InetAddress address = InetAddress.getByName(ip);
            // 判断得到的 InetAddress 对象是否为字符串提供的原始 IP 地址
            return ip.equals(address.getHostAddress());
        } catch (UnknownHostException ex) {  // 识别出错,字符串 ip 不是有效的 IP 地址
            return false;
        }
    }

    // 测试方法
    public static void main(String[] args) {
        System.out.println(isValidIPAddress("192.168.1.1"));  // true
        System.out.println(isValidIPAddress("256.1.1.1"));  // false
    }
}

上面的方法既会检查 IPv4 地址,也会检查 IPv6 地址。getByName() 方法会解析提供的字符串并返回一个 InetAddress 对象,如果解析不成功(也就是说,地址无效或未知),则会抛出 UnknownHostException 异常。

标签:Java,读取,ip,地址,IP,字符串,InetAddress
From: https://www.cnblogs.com/Undefined443/p/18054726

相关文章

  • 前端基础学习2 | JavaScript
    1、什么是JavaScript相关链接:https://baike.baidu.com/item/JavaScript/321142JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言,是用来控制网页行为的,它使得网页可交互。关于JavaScript有必要知道的事:1)JavaScript和Java是完全不同的语言,不论是概念还是设计,但是基础......
  • Java 切入点 JoinPoint的使用,用于拦截方法,与自定义注解
    这里的代码案例是外卖系统中,用于统一修改新增和更新内容中的更新时间与更新人内容,根据具体情况,在使用时进行自定义修改就行了第一部分是annotation的,因为是为了自动填充数据准备,所以创建annotation包后,在其中创建了AutoFill的注解类型/***自定义注解,用于标识某个方法需要用......
  • Java 读取命令行输入
    在Java中,您可以使用Scanner类从命令行读取输入。这个类属于java.util包,因此在使用之前您需要导入该包。下面是一个如何从命令行读取输入的Java程序示例:importjava.util.Scanner;//导入Scanner类publicclassMain{publicstaticvoidmain(String[]args)......
  • java.lang.reflect.InaccessibleObjectException
    低版本springboot应用使用高版本JDK报以下异常:Causedby:java.lang.reflect.InaccessibleObjectException:Unabletomakeprotectedfinaljava.lang.Classjava.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)throwsjava......
  • Python zip函数及用法
    zip()函数是Python内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及range()区间构成的列表)“压缩”成一个zip对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。importnumpyasnpmy_list=[11,12,13]my_tuple=(21......
  • JAVA私有构造函数---java笔记
    在Java中,构造函数是一种特殊的方法,它用于初始化新创建的对象。当我们创建一个类的实例时,构造函数会自动被调用。构造函数可以有不同的访问修饰符,如public、protected、default(即包级私有)和private。其中,private构造函数是Java中一种特殊的构造函数。私有构造函数(PrivateConstru......
  • 3月5日-java随笔(雪花算法)
    一、简单介绍一下雪花算法原理1、雪花算法生成一个64bit的长整型标识符,其内部结构包含四个部分。首先,最左侧的一个bit通常被置为0作为符号位(在实际应用中往往无意义)。接下来的41bit用于存储自某个时间起点以来的毫秒级时间戳,以此确保生成的ID具有时间上的有序性。第三个组成部分......
  • iPaas数据传输的方式
    一、iPaas平台概述iPaas(Integration Platform as a Service)平台,作为一种先进的云计算服务模式,为开发者和企业提供了一种全面且灵活的应用集成解决方案。它构建在PaaS(Platform as a Service)基础之上,专注于提供应用程序及数据集成、流程管理、API管理以及业务流程自动化等功......
  • Java八股文
    什么是面向对象对比面向过程注重事情的步骤顺序,面向对象更关注有哪些参与者(对象),各种需要做什么,易于扩展。封装内部对外部来说是透明的,无需修改关心内部实现例如:操作数据库,不需要关心连接简历,sql执行,引入mybatis,调方法即可JavaBean属性私有,不能由外部随意修改。继承继承基......
  • 基于JAVA的2048小游戏的二次开发
    引言《2048Numberpuzzlegame》是一款数字益智游戏,而《2048》的初始数字则是由2+2组成的基数4。在操作方面的不同则表现为一步一格的移动,变成更为爽快的一次到底。相同数字的方框在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出「2048」......