最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java獲取本機IP的幾種常見方法

 更新時間:2025年05月15日 11:22:33   作者:五道書童  
在Java編程中,我們經(jīng)常需要獲取本地或遠程計算機的IP地址,IP地址是用于唯一標識計算機的一組數(shù)字,它在網(wǎng)絡通信中起到重要的作用,下面將介紹幾種在Java中獲取IP地址的方法,并提供相應的源代碼,需要的朋友可以參考下

在Java中獲取本地IP地址有多種方式,以下是幾種常見的方法:

1. 使用 InetAddress 類

InetAddress 類是Java標準庫中用于表示IP地址的類,可以通過它獲取本地主機的IP地址。

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

public class Main {
    public static void main(String[] args) {
        try {
            InetAddress localHost = InetAddress.getLocalHost();
            System.out.println("Local IP Address: " + localHost.getHostAddress());
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

2. 使用 NetworkInterface 類

NetworkInterface 類提供了更細粒度的網(wǎng)絡接口信息,可以獲取所有網(wǎng)絡接口的IP地址。

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

public class Main {
    public static void main(String[] args) {
        try {
            Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            while (networkInterfaces.hasMoreElements()) {
                NetworkInterface networkInterface = networkInterfaces.nextElement();
                Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses();
                while (inetAddresses.hasMoreElements()) {
                    InetAddress inetAddress = inetAddresses.nextElement();
                    if (!inetAddress.isLoopbackAddress() && inetAddress.isSiteLocalAddress()) {
                        System.out.println("Local IP Address: " + inetAddress.getHostAddress());
                    }
                }
            }
        } catch (SocketException e) {
            e.printStackTrace();
        }
    }
}

3. 使用第三方庫(如 Apache Commons Net)

如果你需要更復雜的功能,可以使用第三方庫,如 Apache Commons Net。

import org.apache.commons.net.util.SubnetUtils;
import java.net.InetAddress;
import java.net.UnknownHostException;

public class Main {
    public static void main(String[] args) {
        try {
            InetAddress localHost = InetAddress.getLocalHost();
            System.out.println("Local IP Address: " + localHost.getHostAddress());
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

使用時如何選擇?

  • InetAddress 類:簡單易用,適合大多數(shù)場景,尤其是只需要獲取本地主機的IP地址時。
  • NetworkInterface 類:適合需要獲取所有網(wǎng)絡接口的IP地址,或者需要過濾特定類型的IP地址(如非回環(huán)地址、本地地址等)的場景。
  • 第三方庫:適合需要更復雜網(wǎng)絡操作的場景,如子網(wǎng)計算、IP地址范圍處理等。

總結

對于大多數(shù)簡單場景,使用 InetAddress.getLocalHost() 是最簡單和直接的方式。如果你需要更細粒度的控制或處理多個網(wǎng)絡接口,可以使用 NetworkInterface 類。

到此這篇關于Java獲取本機IP的幾種常見方法的文章就介紹到這了,更多相關Java獲取本機IP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

屏东县| 商洛市| 天台县| 株洲市| 仁布县| 渑池县| 杭锦后旗| 项城市| 灯塔市| 临夏市| 汝城县| 万荣县| 永修县| 潞西市| 三河市| 永和县| 巨鹿县| 万全县| 房产| 阿拉善左旗| 津市市| 洞口县| 海林市| 屯门区| 甘肃省| 德清县| 丹巴县| 嘉荫县| 天门市| 宜宾县| 丹东市| 错那县| 怀仁县| 江川县| 桐柏县| 沾益县| 水富县| 和硕县| 抚州市| 会同县| 洛宁县|