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

java獲取ip地址與網絡接口的方法示例

 更新時間:2018年01月10日 10:01:50   作者:駿馬金龍  
這篇文章主要給大家介紹了關于利用java如何獲取ip地址與網絡接口的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

java.net包

大家應該都知道,網絡相關對象在java.net包中,Java net包下的類如下:

1.獲取主機對象InetAddress

//獲取本地主機對象
InetAddress host = InetAddress.getLocalHost();
//根據ip地址或主機名獲取主機對象,以主機名獲取主機時需要DNS解析
InetAddress host = InetAddress.getByName("192.168.100.124");
InetAddress host = InetAddress.getByName(www.baidu.com);

2.獲取主機對象的ip地址和主機名(需要dns解析主機名)

host.getHostAddress();
host.getHostName();

3.獲取本機所有接口NetworkInterface并遍歷

//返回數據類型為Enumeration
Enumeration<NetworkInterface> enu = NetworkInterface.getNetworkInterfaces();
while(enu.hasMoreElements){
 NetworkInterface inet = enu.nextElement();
 String intName = inet.getName();
}

由于一個接口上可能有多個子接口(輔助ip,如eth0:1),因此根據某個接口,可以得到該接口的所有ip地址枚舉集合(同時包括Ipv4和ipv6接口)。

Enumeration<InetAddress> net_list = inet.getInetAddresses();
while(net_list.hasMoreElements){
 InetAddress net = net_list.nextElement();
 String ip = net.getHostAddress();
}

可以使用Collections.list()方法將Enumeration類型轉換為ArrayList集合的數據結構,然后使用Itreator遍歷器遍歷。

以下是獲取本機所有接口名稱和這些接口上的ipv4地址的方法(適用于Windows和Linux)。

import java.net.*;
import java.util.*;
public class EnumDemo {
 public static void main(String[] args) {
  try {
   //獲取所有接口,并放進枚舉集合中,然后使用Collections.list()將枚舉集合轉換為ArrayList集合
   Enumeration<NetworkInterface> enu = NetworkInterface.getNetworkInterfaces();
   ArrayList<NetworkInterface> arr = Collections.list(enu);
   for(Iterator<NetworkInterface> it = arr.iterator();it.hasNext();) {
    NetworkInterface ni = it.next();
    String intName = ni.getName(); //獲取接口名
    //獲取每個接口中的所有ip網絡接口集合,因為可能有子接口
    ArrayList<InetAddress> inets = Collections.list(ni.getInetAddresses());
    for(Iterator<InetAddress> it1 = inets.iterator();it1.hasNext();) {
     InetAddress inet = it1.next();
     //只篩選ipv4地址,否則會同時得到Ipv6地址
     if(inet instanceof Inet4Address) {
      String ip = inet.getHostAddress();
      System.out.printf("%-10s %-5s %-6s %-15s\n", "InetfaceName:",intName,"| IPv4:",ip);
     }
    }
   }
  } catch (SocketException s) {
   s.printStackTrace();
  }
 }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • java使用lambda表達式多條件排序方式

    java使用lambda表達式多條件排序方式

    這篇文章主要介紹了java使用lambda表達式多條件排序方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Springboot整合zookeeper實現對節(jié)點的創(chuàng)建、監(jiān)聽與判斷的案例詳解

    Springboot整合zookeeper實現對節(jié)點的創(chuàng)建、監(jiān)聽與判斷的案例詳解

    這篇文章主要介紹了基于Springboot整合zookeeper實現對節(jié)點的創(chuàng)建、監(jiān)聽與判斷,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • java接口性能優(yōu)化技巧

    java接口性能優(yōu)化技巧

    這篇文章主要為大家介紹了java接口性能優(yōu)化技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • IDEA 自定義方法注解模板的實現方法

    IDEA 自定義方法注解模板的實現方法

    這篇文章主要介紹了IDEA 自定義方法注解模板的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • SpringBoot集成POI實現Excel導入導出的示例詳解

    SpringBoot集成POI實現Excel導入導出的示例詳解

    Apache?POI?是用Java編寫的免費開源的跨平臺的?Java?API,Apache?POI提供API給Java程序對Microsoft?Office格式檔案讀和寫的功能。本文主要介紹通過SpringBoot集成POI工具實現Excel的導入和導出功能,需要的可以參考一下
    2022-07-07
  • IDEA中Java出現無效的源發(fā)行版錯誤的解決辦法

    IDEA中Java出現無效的源發(fā)行版錯誤的解決辦法

    這篇文章主要給大家介紹了關于IDEA中Java出現無效的源發(fā)行版錯誤的解決辦法,IDEA中Java出現?效的源發(fā)?版解決辦法出現該問題的原因是項?Project當中的jdk與電腦當中的jdk版本不?致造成的,需要的朋友可以參考下
    2023-10-10
  • 一文帶你搞懂Java中的數據流處理

    一文帶你搞懂Java中的數據流處理

    這篇文章主要為大家詳細介紹了Java中數據流處理的相關知識,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • 詳解SpringBoot如何讓指定的Bean先加載

    詳解SpringBoot如何讓指定的Bean先加載

    這篇文章主要給大家介紹了在 SpringBoot 中如何讓自己的某個指定的 Bean 在其他 Bean 前完成被 Spring 加載,文中通過代碼示例給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • springboot整合阿里云oss上傳的方法示例

    springboot整合阿里云oss上傳的方法示例

    這篇文章主要介紹了springboot整合阿里云oss上傳的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 深入了解Java核心類庫--Math類

    深入了解Java核心類庫--Math類

    本文是小編最新給大家整理的關于Java中Math類常用方法的知識,通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧,
    2021-07-07

最新評論

蒲城县| 义马市| 揭西县| 凤翔县| 丰原市| 开平市| 丹东市| 金川县| 延边| 洞口县| 呼和浩特市| 宝应县| 独山县| 长春市| 莱州市| 伽师县| 东丽区| 烟台市| 扶绥县| 兴安县| 松溪县| 保靖县| 耒阳市| 防城港市| 阿拉善盟| 格尔木市| 临西县| 临潭县| 白银市| 武清区| 江北区| 尚义县| 盐源县| 七台河市| 屏边| 抚州市| 介休市| 尤溪县| 久治县| 曲沃县| 祁连县|