亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

基于Java實現獲取本地IP地址和主機名

瀏覽:3日期:2022-09-01 17:00:39

方式一:通過java.net.InetAddress類獲取

public void test1() { try { InetAddress addr = InetAddress.getLocalHost(); System.out.println('IP地址:' + addr.getHostAddress() + ',主機名:' + addr.getHostName()); } catch (UnknownHostException e) { e.printStackTrace(); }}

輸出:

IP地址:192.168.153.1,主機名:DESKTOP-338UP3E

這種方式獲取到的主機名沒啥問題,這種方式獲取的主機名沒啥問題,但獲取到的IP地址卻有待考量,如果一臺機器有多個網卡,

他獲取的IP是誰的呢?事實上,上面輸出的IP是我虛擬機IP地址,既不是我有線網卡的地址,也不是我無線網卡的地址。

方式二:利用java.net.NetworkInterface獲取

public void test2() { try { Enumeration<NetworkInterface> faces = NetworkInterface.getNetworkInterfaces(); while (faces.hasMoreElements()) { // 遍歷網絡接口 NetworkInterface face = faces.nextElement(); if (face.isLoopback() || face.isVirtual() || !face.isUp()) { continue; } System.out.print('網絡接口名:' + face.getDisplayName() + ',地址:'); Enumeration<InetAddress> address = face.getInetAddresses(); while (address.hasMoreElements()) { // 遍歷網絡地址 InetAddress addr = address.nextElement(); if (!addr.isLoopbackAddress() && addr.isSiteLocalAddress() && !addr.isAnyLocalAddress()) { System.out.print(addr.getHostAddress() + ' '); } } System.out.println(''); } } catch (SocketException e) { e.printStackTrace(); }}

輸出:

網絡接口名:VMware Virtual Ethernet Adapter for VMnet8,地址:192.168.153.1 網絡接口名:TAP-Windows Adapter V9,地址:10.8.0.30 網絡接口名:VMware Virtual Ethernet Adapter for VMnet1,地址:192.168.46.1 網絡接口名:Intel(R) Dual Band Wireless-AC 8265,地址:172.16.78.27

疑問?:第一、三行為VM虛擬機網絡地址,不知為何還在。

工具類:

import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;/** * 本地主機工具類 * * @author zhi * @since 2019年11月13日09:04:36 * */public class LocalHostUtil { /** * 獲取主機名稱 * * @return * @throws UnknownHostException */ public static String getHostName() throws UnknownHostException { return InetAddress.getLocalHost().getHostName(); } /** * 獲取系統首選IP * * @return * @throws UnknownHostException */ public static String getLocalIP() throws UnknownHostException { return InetAddress.getLocalHost().getHostAddress(); } /** * 獲取所有網卡IP,排除回文地址、虛擬地址 * * @return * @throws SocketException */ public static String[] getLocalIPs() throws SocketException { List<String> list = new ArrayList<>(); Enumeration<NetworkInterface> enumeration = NetworkInterface.getNetworkInterfaces(); while (enumeration.hasMoreElements()) { NetworkInterface intf = enumeration.nextElement(); if (intf.isLoopback() || intf.isVirtual()) { // continue; } Enumeration<InetAddress> inets = intf.getInetAddresses(); while (inets.hasMoreElements()) { InetAddress addr = inets.nextElement(); if (addr.isLoopbackAddress() || !addr.isSiteLocalAddress() || addr.isAnyLocalAddress()) { continue; } list.add(addr.getHostAddress()); } } return list.toArray(new String[0]); } /** * 判斷操作系統是否是Windows * * @return */ public static boolean isWindowsOS() { boolean isWindowsOS = false; String osName = System.getProperty('os.name'); if (osName.toLowerCase().indexOf('windows') > -1) { isWindowsOS = true; } return isWindowsOS; } public static void main(String[] args) { try { System.out.println('主機是否為Windows系統:' + LocalHostUtil.isWindowsOS()); System.out.println('主機名稱:' + LocalHostUtil.getHostName()); System.out.println('系統首選IP:' + LocalHostUtil.getLocalIP()); System.out.println('系統所有IP:' + String.join(',', LocalHostUtil.getLocalIPs())); } catch (UnknownHostException e) { } catch (Exception e) { e.printStackTrace(); } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 久久精品国产99国产精品免费看 | 国产真人毛片一级视频 | 久草草视频在线观看免费高清 | 亚洲精品字幕一区二区三区 | 网站国产 | 在线免费黄网 | 又www又黄又爽啪啪网站 | 国内真实愉拍系列情侣 | 一级做a爰| 99精品欧美一区二区三区 | 色在线免费视频 | 久草男人天堂 | 亚洲免费一 | 久久亚洲私人国产精品 | 国产一级内谢a级高清毛片 国产一级片毛片 | 成人在线视频一区 | 在线综合+亚洲+欧美中文字幕 | 国产精品黄色片 | 欧美理论片在线观看一区二区 | 久久在线免费观看 | 久久久久久久99精品免费 | 亚洲一区二区免费视频 | 午夜67194| 欧美成人午夜影院 | 午夜影院黄色片 | 久久99精品免费视频 | 国产三香港三韩国三级不卡 | 欧美一级日韩一级 | 全免费a级毛片免费看不卡 全免费毛片在线播放 | 亚洲欧美综合一区二区三区四区 | 中文字幕天堂久久精品 | 久久99热成人精品国产 | 国产精品成人aaaaa网站 | 97se亚洲综合在线韩国专区福利 | 久久国内视频 | 欧美一级α片毛片免费观看 | 国产亚洲精品看片在线观看 | 国产精品亚洲精品日韩已满 | 亚洲高清无在码在线无弹窗 | 亚洲成 人a影院青久在线观看 | 男操美女|