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

获取本机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日

相关文章

  • Vue-Router的使用方法

    Vue-Router的使用方法 1. 安装Vue-Router 在使用Vue-Router前,首先需要在你的Vue项目中安装Vue-Router。可以通过npm或者yarn进行安装。在终端中运行以下命令: npm install vue-router 或 yarn add vue-router 2. 创建路由实例 在项目的入口文件中(如main.js),导入…

    other 2023年6月28日
    00
  • Recommended C Style and Coding Standards中文翻译版第1/3页

    《Recommended C Style and Coding Standards》是一份经典的编码规范,它规范了C语言程序的风格、格式、变量命名规则、代码组织、注释等方面。遵循这份编码规范可以提高代码的可读性、可维护性、可移植性等,有利于多人协作开发、长期维护和复用代码。 以下是对《Recommended C Style and Coding Standa…

    other 2023年6月27日
    00
  • R语言-图形初阶

    R语言是一种用于数据分析和可视化的编程语言。在R语言中,图形是一种非常重要的数据可视化方式。本文将介绍R语言中图形初阶的完整攻略,包括绘制基本图形、添加注释和标签、设置图形属性等内容,并提供两个示例说明。 1. 绘制基本图形 在R语言中,我们可以使用plot()函数来绘制基本图形,例如散点图、折线图、柱状图等。下面是一个绘制散点图的示例: # 创建数据 x …

    other 2023年5月5日
    00
  • QT .pro文件使用解析

    下面是详细讲解“QT .pro文件使用解析”的完整攻略。 什么是QT .pro文件 QT .pro文件是QT项目的描述文件,它用于描述项目的文件目录、源文件、目标文件、库文件、代码依赖关系、编译选项等信息。它是QT项目的核心文件之一,也是构建一个QT项目必不可少的一步。 .pro文件的语法结构 QT .pro文件的语法结构非常简洁,一般包含如下几个关键字: …

    other 2023年6月26日
    00
  • C语言入门篇–变量[定义,初始化赋值,外部声明]

    C语言入门篇–变量[定义,初始化赋值,外部声明] 1. 变量定义 变量是C语言中非常重要的概念,变量定义指的是声明一个变量来存储特定类型的数据,并为该变量分配内存空间。 //一般形式为:数据类型 变量名; int num; char ch; float f; double d; C语言中支持多种基本数据类型,包括整型、字符型、浮点型、双精度型等。其中,in…

    other 2023年6月20日
    00
  • wpf之数据触发器datatrigger

    以下是“WPF之数据触发器DataTrigger”的完整攻略: WPF之数据触发器DataTrigger WPF(Windows Presentation Foundation)是一种用于创建Windows桌面应用程序的技术。在WPF中,数据触发器DataTrigger是一种非常有用的控件,可以根据数据的值来更改控件的外观或行为。以下是使用数据触发器Data…

    other 2023年5月7日
    00
  • win2008 IIS7无后缀URL部署问题 MVC4 MVC URL映射

    Win2008 IIS7无后缀URL部署问题 MVC4 MVC URL映射攻略 问题描述 在Win2008服务器上使用IIS7部署MVC4应用程序时,可能会遇到无后缀URL的问题。默认情况下,IIS7会将URL中的文件扩展名解析为静态文件,而不是将其传递给MVC路由处理。这导致MVC路由无法正确处理无后缀的URL。 解决方案 要解决这个问题,需要进行以下步骤…

    other 2023年8月5日
    00
  • 基于Vue如何封装分页组件

    我可以为你详细讲解如何基于Vue封装一个分页组件。 在Vue中,我们可以通过以下的步骤来封装一个分页组件: 1. 创建分页组件所需要的数据和属性 我们需要定义组件所需的数据和属性,例如:当前页码、总页数、每页显示数量等。 <template> <div> <ul> <li v-for="page in pa…

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