电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:5日期: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
相關文章:
主站蜘蛛池模板: 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 压装机-卧式轴承轮轴数控伺服压装机厂家[铭泽机械] | 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 威客电竞(vk·game)·电子竞技赛事官网| 影合社-影视人的内容合作平台 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 砂磨机_立式纳米砂磨机_实验室砂磨机-广州儒佳化工设备厂家 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 上海APP开发-APP制作-APP定制开发-上海APP开发制作公司-咏熠科技 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 石英砂矿石色选机_履带辣椒色选机_X光异物检测机-合肥幼狮光电科技 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 | 智慧消防-消防物联网系统云平台| 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 |