编写Java程序,根据提供的 IP 地址,获取主机名称和域名

简介: 编写Java程序,根据提供的 IP 地址,获取主机名称和域名

需求说明:


根据提供的 IP 地址,获取主机名称和域名


image.png


实现思路:


创建 GetHostNameByIpAddress 类,在main方法中声明 String 类型的变量 ipAddress,调用 ipAddress 字符中的split方法分割字符串,指定的分隔符是“·”,并将方法返回值保存到 String 类型的数组变量 ipArr 中

实例化 byte 类型的数组变量 ipByteArr,用来保存 IP 地址,该数组长度与数组 ipArr 的长度相等

使用 for 循环遍历数组 ipArr,取出数组内的每个元素。调用 Integer 类的 parseInt(String s) 方法,将数组内的每个元素转成 int 类型,顺序保存到数组 ipByteArr 中

通过调用 InetAddress 对象的 getByAddress(byte[] addr) 方法,返回一个 InetAddress 对象,调用该对象的 getHostAddress() 方法、getCanonicalHostName() 方法和 getHostName() 方法,可以分别获取本机的 IP地址、域名和主机名称


实现代码:

import java.net.InetAddress;
import java.net.UnknownHostException;
public class Inet {
  public static void main(String[] args){
    InetAddress ip = null;
    try {
      ip = InetAddress.getLocalHost();
    } catch (UnknownHostException e) {
      e.printStackTrace();
    }
    System.out.println("本机的IP地址:"+ip.getHostAddress());
    System.out.println("本机的域名:"+ip.getCanonicalHostName());
    System.out.println("本机的主机名称:"+ip.getHostName());
  }
}



import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetHostNameByIpAddress {
  public static void main(String[] args) throws UnknownHostException {
    InetAddress localHost = InetAddress.getLocalHost();
    //保存IP地址
    String ipAddress = "172.20.36.17";
//    String ipAddress = localHost.toString();
//    System.out.println(ipAddress);
    //根据符号“.”将IP地址分割为一个字符串数组
    String[] ipArr = ipAddress.split("\\.");
    //用来保存IP地址的byte数组
    byte[] ipByteArr = new byte[ipArr.length];
    for (int i = 0; i < ipArr.length; i++) {
      //将字符串转成整数
      int m = Integer.parseInt(ipArr[i]);
      //将int类型的数字转成byte类型
      ipByteArr[i] = (byte)m;
    }
    InetAddress inetAddress = InetAddress.getByAddress(ipByteArr);
  }
}
相关文章
|
9月前
|
安全 Java
Java异常处理:程序世界的“交通规则
Java异常处理:程序世界的“交通规则
404 98
|
10月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
349 0
|
11月前
|
人工智能 监控 安全
智慧工地解决方案,java智慧工地程序代码
智慧工地系统融合物联网、AI、大数据等技术,实现对施工现场“人、机、料、法、环”的全面智能监控与管理,提升安全、效率与决策水平。
299 2
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
|
搜索推荐 Java Android开发
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
498 0
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
291 4
|
Java 应用服务中间件 nginx
|
Java Spring 前端开发
Java获取用户ip
<div class="markdown_views"> <p>Java 如何获取客户端IP呢? <br> 下面是我总结的几种方法:</p> <pre class="prettyprint"><code class=" hljs java"><span class="hljs-javadoc">/** * 获取客户端ip地址(可以穿透代理) *
1642 0