91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-20 23:57:52 來源:腳本之家 閱讀:273 作者:駿馬金龍 欄目:編程語言

java.net包

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

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

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

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();
  }
 }
}

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌云县| 日喀则市| 华亭县| 南丰县| 花莲市| 富蕴县| 留坝县| 勐海县| 噶尔县| 大厂| 南昌县| 瓦房店市| 苏尼特左旗| 道孚县| 海盐县| 徐汇区| 喀什市| 临桂县| 营口市| 凤庆县| 西丰县| 石柱| 贵溪市| 淮南市| 正安县| 钦州市| 米脂县| 天柱县| 奈曼旗| 金川县| 南郑县| 汨罗市| 锡林浩特市| 宿州市| 房产| 鄯善县| 南安市| 福海县| 留坝县| 洛浦县| 公主岭市|