Java 获取本机IP地址的实例代码

yizhihongxing

获取本机IP地址是Java编程中的一个常见需求。下面是一个完整的攻略,包含了两个示例说明。

步骤1:使用InetAddress类获取本机IP地址

Java提供了InetAddress类来获取本机的IP地址。以下是获取本机IP地址的示例代码:

import java.net.InetAddress;
import java.net.UnknownHostException;

public class GetLocalIPAddress {
    public static void main(String[] args) {
        try {
            InetAddress localhost = InetAddress.getLocalHost();
            System.out.println(\"本机IP地址: \" + localhost.getHostAddress());
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们使用getLocalHost()方法获取本机的InetAddress对象,然后使用getHostAddress()方法获取IP地址,并将其打印出来。

步骤2:使用NetworkInterface类获取本机IP地址

除了使用InetAddress类,还可以使用NetworkInterface类来获取本机的IP地址。以下是另一个示例代码:

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;

public class GetLocalIPAddress {
    public static void main(String[] args) {
        try {
            Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
            while (interfaces.hasMoreElements()) {
                NetworkInterface networkInterface = interfaces.nextElement();
                Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
                while (addresses.hasMoreElements()) {
                    InetAddress address = addresses.nextElement();
                    if (!address.isLoopbackAddress() && address.getHostAddress().indexOf(':') == -1) {
                        System.out.println(\"本机IP地址: \" + address.getHostAddress());
                    }
                }
            }
        } catch (SocketException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们使用getNetworkInterfaces()方法获取所有的网络接口,然后遍历每个网络接口,使用getInetAddresses()方法获取每个接口的InetAddress对象。我们通过判断IP地址不是回环地址(loopback address)且不包含冒号(IPv6地址)来确定本机的IP地址,并将其打印出来。

这两个示例代码可以帮助你获取本机的IP地址。你可以根据自己的需求选择其中一个方法来使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 获取本机IP地址的实例代码 - Python技术站

(0)
上一篇 2023年7月30日
下一篇 2023年7月30日

相关文章

  • [下载]苹果iOS9.1正式版固件下载大全

    [下载]苹果iOS9.1正式版固件下载大全攻略 苹果iOS9.1正式版固件是苹果公司发布的操作系统固件版本,提供了一系列新功能和改进。本攻略将详细介绍如何下载苹果iOS9.1正式版固件,并提供两个示例说明。 步骤一:准备工作 在开始下载苹果iOS9.1正式版固件之前,请确保您满足以下准备工作: 确认设备兼容性:苹果iOS9.1正式版固件支持的设备包括iPho…

    other 2023年8月4日
    00
  • 详解JS构造函数中this和return

    接下来我会详细讲解 JavaScript 构造函数中 this 和 return 的相关内容。 什么是构造函数 在 JavaScript 中,构造函数是用来创建对象的函数,被调用时会返回一个新的对象。通常使用 new 关键字来调用构造函数。 以下是一个简单的构造函数示例: function Person(name, age) { this.name = na…

    other 2023年6月26日
    00
  • Principal components analysis(PCA):主元分析

    Principal components analysis(PCA):主元分析 简介 主元分析(Principal components analysis, PCA)是一种广泛应用于数据探索和预测建模的线性降维方法。通过将高维数据映射到低维空间中,PCA能够帮助我们理解数据的结构,减少数据中的噪声以及提高学习算法的效率。 在实际应用中,PCA可以用于许多领域…

    其他 2023年3月28日
    00
  • MySQL 中查找含有目标字段的表的方法

    MySQL 中查找含有目标字段的表需要用到信息模式(Information Schema),信息模式特别适用于查询关于数据库和它的对象的元数据信息。以下是查找含有目标字段的表的完整攻略: 利用信息模式 使用下面的 SQL 语句查找具有目标字段的表名: mysql SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHE…

    other 2023年6月25日
    00
  • swift语言AutoreleasePool原理及使用场景

    Swift语言AutoreleasePool原理及使用场景攻略 1. AutoreleasePool原理 在Swift语言中,AutoreleasePool是一种用于管理内存释放的机制。它的原理是通过延迟释放对象,将对象的释放操作推迟到合适的时机,从而提高内存的使用效率。 AutoreleasePool内部使用了一个栈结构来管理对象的释放。当一个对象调用au…

    other 2023年7月28日
    00
  • oraclelong类型转换成字符串

    以下是将Oracle LONG类型转换为字符串的完整攻略,包括步骤、示例和注意事项: 将Oracle LONG类型转换为字符串攻略 Oracle LONG类型是一种用于存储大量文本数据的数据类型。在使用Oracle时,需要将LONG类型转换为字符串进行处理。以下是详细的攻略: 步骤 以下是将Oracle LONG类型转换为字符串的步: 查询LONG类型数据。…

    other 2023年5月7日
    00
  • 实例详解jQuery结合GridView控件的使用方法

    实例详解jQuery结合GridView控件的使用方法 本篇文章主要介绍如何使用 jQuery 和 GridView 控件来实现数据动态更新和分页显示效果。 1. jQuery 介绍 jQuery 是一款流行的 JavaScript 库,它简化了对 HTML 文档、事件处理、动画、Ajax 等的操作。通过使用 jQuery,我们可以更加方便、高效地进行网页开…

    other 2023年6月26日
    00
  • 常用Raspberry Pi周边传感器的使用教程

    下面是关于常用Raspberry Pi周边传感器的使用教程的完整攻略,包括传感器介绍、使用方法和两个示例说明。 传感器介绍 Raspberry Pi周边传感器是一种用于检测环境参数的设备,可以通过Raspberry Pi进行控制和数据采集。常用的Raspberry Pi周边传感器包括温度传感器、湿度传感器、光线传感器、声音传感器等。 使用方法 以下是使用Ra…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部