117.info
人生若只如初见

java如何获取ip地址

在Java中,可以使用InetAddress类来获取IP地址。

以下是一些示例代码:

  1. 获取本机IP地址:
import java.net.InetAddress;

public class Main {
    public static void main(String[] args) {
        try {
            InetAddress localhost = InetAddress.getLocalHost();
            System.out.println("本机IP地址: " + localhost.getHostAddress());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. 获取指定域名的IP地址:
import java.net.InetAddress;

public class Main {
    public static void main(String[] args) {
        try {
            InetAddress address = InetAddress.getByName("www.google.com");
            System.out.println("www.google.com 的IP地址: " + address.getHostAddress());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意:InetAddress.getLocalHost()方法可能返回本机的IPv6地址,而不是IPv4地址。如果需要获取IPv4地址,可以使用NetworkInterface类来获取本机的网络接口,然后从中获取IPv4地址。

例如:

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

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

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe601AzsLAARUBl0.html

推荐文章

  • 怎么用java代码生成uml类图

    要用Java代码生成UML类图,可以使用一些Java UML类图生成工具,如PlantUML、yUML等。以下是使用PlantUML生成UML类图的步骤: 安装PlantUML:下载并安装PlantUML插...

  • Java怎么判断布尔值是否相等

    在Java中,可以使用==运算符来判断两个布尔值是否相等。这个运算符返回一个布尔值,表示两个操作数是否相等。
    例如:
    boolean bool1 = true;
    boo...

  • java中stringbuilder扩容机制是什么

    StringBuilder的扩容机制是在创建StringBuilder对象时会分配一个初始容量(默认为16),当字符串的长度超过当前容量时,会自动扩容。扩容时的算法是将当前容量乘...

  • java中使用trim()方法报错怎么解决

    在Java中使用trim()方法时,通常不会出现问题。trim()方法用于删除字符串的头尾空白字符,例如空格、制表符、换行符等。
    如果您遇到了trim()方法报错的情况...

  • java中如何定义日期

    在Java中,可以使用java.util.Date类和java.util.Calendar类来定义日期。 使用java.util.Date类:java.util.Date类表示一个特定的时间点,可以使用不同的构造函数...

  • c语言如何判断字符

    在C语言中,可以使用以下方法来判断一个字符的类型: 判断字符是否为字母:使用isalpha()函数,该函数返回非零值表示字符是字母,否则返回0。例如: char ch = '...

  • mysql 如何备份数据库

    要备份 MySQL 数据库,可以使用以下两种方法: 使用命令行工具 mysqldump: 打开命令行工具(如命令提示符或终端)。
    运行以下命令来备份整个数据库:mysql...

  • cmd如何登录mysql

    要使用命令行登录MySQL,可以按照以下步骤操作: 打开命令行界面,可以通过在Windows上点击开始菜单,然后搜索"cmd",或在Linux/macOS上打开终端应用程序来实现。...