通常我们想要拿到本机ip都会使用这个方式:

try {System.out.println(InetAddress.getLocalHost().getHostAddress().toString());} catch (UnknownHostException e1) {// TODO Auto-generated catch blocke1.printStackTrace();
};

但是这样可能不会得到我们想要的结果,可能会得到127.0.0.1  。为了能够拿到准确的本机ip。就需要从网卡中去进行读取。从读取到的ip列表去确定你需要的那个本机ip地址。

写法如下:

public static void main(String[] args) {Enumeration<NetworkInterface> netInterfaces;try {// 拿到所有网卡netInterfaces = NetworkInterface.getNetworkInterfaces();InetAddress ip;// 遍历每个网卡,拿到ipwhile (netInterfaces.hasMoreElements()) {NetworkInterface ni = netInterfaces.nextElement();Enumeration<InetAddress> addresses = ni.getInetAddresses();while (addresses.hasMoreElements()) {ip = addresses.nextElement();if (!ip.isLoopbackAddress() && ip.getHostAddress().indexOf(':') == -1) {System.out.println(ni.getName() + " " + ip.getHostAddress());}}}} catch (Exception e) {}}

通过以上代码就可以拿到各个网卡的名称和ip了。

喜欢的朋友欢迎点赞,评论,关注哦~~

Java--获取本机网卡上的所有ip相关推荐

  1. c#获取本地ip地址网关子网掩码_C#--WinForm获取本机网卡的型号,IP地址,子网掩码和网关-阿里云开发者社区...

    //方法一:利用注册表 using System; using Microsoft.Win32; class CardGrab { public static void Main() { Regist ...

  2. 用java获取本机IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下ja ...

  3. Java获取本机的ip地址和Mac地址

    Java获取本机的ip地址 //得到IP,InetAddress ia = InetAddress.getLocalHost();String ip=ia.toString().split(" ...

  4. 常识-java获取本机ipv6地址以及关闭临时ipv6地址

    关闭临时ipv6地址 临时ipv6有助于本机安全,然而有时用不到,比如用其进行长久的ftp链接,随时待命是不合适的 右键管理员cmd,输入命令关闭临时ipv6 netsh interface ipv6 ...

  5. java 获取已有字体,java获取本机全部可用字体

    java获取本机所有可用字体 //just for fun,那个28个字母的函数满满都是恶心 import java.awt.GraphicsEnvironment ; class Tester { ...

  6. Java获取本机名称、网卡名称、IP、MAC

    获取所有IP /*** 获取该主机上所有网卡的ip*/public static ArrayList<String> getAllHostIp(){ArrayList<String& ...

  7. java获取本机IP

    如果是在windows环境: 使用InetAddress.getLocalHost()方法即可. import java.net.InetAddress;public class Main {publ ...

  8. java获取本机ipv4,并使用Google Guava 缓存

    java写个util,获取本机ip,并使用Google Guava 缓存起来 四个方法: 获取本机ipv4 ip转16进制 16进制转ip 校验ip 首先,Google Guava使用的maven配置 ...

  9. java获取本机ip地址_代码片段:获取系统所有IP

    问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...

最新文章

  1. 通过describe命令学习Kubernetes的pod属性详解
  2. Linux系统(一)文件系统、压缩、打包操作总结
  3. Xamarin.Android提示aapt退出,代码为255
  4. twitter批量取消关注_如何在Twitter上取消阻止“潜在敏感内容”
  5. Java StringBuffer相关解惑
  6. ES6学习(模板字符串)
  7. 集成电路查询软件_软件著作权登记的法律意义
  8. bzoj千题计划227:bzoj1486: [HNOI2009]最小圈
  9. 9.MongoDB之explain(执行计划分析)
  10. 动态下拉框中如何使用常量?
  11. Android MediaCodec学习笔记
  12. 3dsMax2018注册问题
  13. couchbase java 手册_Couchbase之环境搭建与基于Java的测试
  14. 阿里巴巴Java开发手册终极版v1.3.0(百度网盘资源)
  15. 【论文阅读】去偏、缓解数据稀疏的多任务因果推荐CVR优化
  16. el-empty Empty 空状态 自定义图片 使用本地图片
  17. S3C2440 由ADS移植到 RealView MDK kile4
  18. php课设报告致谢_科学网—博士论文致谢 - 曹墨源的博文
  19. 【MySQL】连接查询
  20. js实现chrome浏览器copy复制功能

热门文章

  1. Stata:固定效应模式必须加入时间固定效应吗?
  2. 一篇讲解iphone6 双核处理器的新闻稿
  3. 【STM32】标准库与HAL库对照学习教程六--位带操作
  4. 微信小程序-实现上下、左右布局
  5. tomcat连接池的配置与使用
  6. 中琅条码打印软件如何批量打印单色黑流水号
  7. 明风:分布式图计算的平台Spark GraphX 在淘宝的实践
  8. php utf8生僻字,支持生僻字且自动识别utf-8编码的php汉字转拼音类_PHP
  9. 〖Python全栈白宝书-免费版⑲〗- 字符串的编码格式
  10. Android adb的使用