Java干货:InetAddress基本操作演示

createh54个月前 (12-28)技术教程39

在JDK中提供了一个与IP地址相关的InetAddress类,该类用于封装一个IP地址,并提供了一系列与IP地址相关的方法,接下来列举InetAddress类中的一些常用方法,如表1所示。

表1 InetAddress类的常用方法

方法声明

功能描述

InetAddress getByName(String host)

获取给定主机名的的IP地址,host参数表示指定主机

InetAddress getLocalHost()

获取本地主机地址

String getHostName()

获取本地IP地址的主机名

boolean isReachable(int timeout)

判断在限定时间内指定的IP地址是否可以访问

String getHostAddress()

获取字符串格式的原始IP地址

表1中,列举了InetAddress的五个常用方法。其中,前两个方法用于获得该类的实例对象,第一个方法用于获得表示指定主机的InetAddress对象,第二个方法用于获得表示本地的InetAddress对象。通过InetAddress对象便可获取指定主机名、IP地址等,接下来通过一个案例来演示InetAddress类常用方法的基本使用,如文件1所示。

文件1 Example01.java

     import java.net.InetAddress;
     public class Example01 {
         public static void main(String[] args) throws Exception {
              // 获取本地主机InetAddress对象
             InetAddress localAddress = InetAddress.getLocalHost();
              // 获取主机名为“www.itcast.cn”的InetAddress对象
             InetAddress remoteAddress =
                                      InetAddress.getByName("www.itcast.cn");
             System.out.println("本机的IP地址:" 
                                     + localAddress.getHostAddress());
             System.out.println("itcast的IP地址:" 
                                     + remoteAddress.getHostAddress());
             System.out.println("3秒内是否可以访问:" 
                                     + remoteAddress.isReachable(3000));
             System.out.println("itcast的主机名为:" 
                                     + remoteAddress.getHostName());
         }
     }

运行结果如图1所示。

从图1可以看出,InetAddress类中常用方法的具体使用效果。需要注意的是,getHostName()方法用于得到某个主机的域名,如果InetAddress对象是通过主机名创建的,则将返回该主机名,否则,将根据IP地址反向查找对应的主机名,如果找到将其返回,否则将返回IP地址

相关文章

初识sa-token,一行代码搞定登录授权

前言在java的世界里,有很多优秀的权限认证框架,如Apache Shiro、Spring Security 等等。这些框架背景强大,历史悠久,其生态也比较齐全。但同时这些框架也并非十分完美,在前后台...

Java代码审计-XSS审计 java 审计日志

一、漏洞简介XSS是Cross Site Scripting的缩写,意为"跨站脚本攻击",为了避免与层叠样式表(Cascading Style Sheet,CSS)的缩写混淆,故将跨站...

Java内存泄漏的介绍 java内存泄漏怎么处理

Java的最大优势之一是其内存管理。您只需创建对象,Java Garbage Collector便会分配和释放内存。但是,情况并非如此简单,因为Java应用程序中经常发生内存泄漏。本教程说明什么是内存...