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 enu = NetworkInterface.getNetworkInterfaces();

while(enu.hasMoreElements){

NetworkInterface inet = enu.nextElement();

String intName = inet.getName();

}

由于一个接口上可能有多个子接口(辅助ip,如eth0:1),因此根据某个接口,可以得到该接口的所有ip地址枚举集合(同时包括Ipv4和ipv6接口)。

Enumeration 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 enu = NetworkInterface.getNetworkInterfaces();

ArrayList arr = Collections.list(enu);

for(Iterator it = arr.iterator();it.hasNext();) {

NetworkInterface ni = it.next();

String intName = ni.getName(); //获取接口名

//获取每个接口中的所有ip网络接口集合,因为可能有子接口

ArrayList inets = Collections.list(ni.getInetAddresses());

for(Iterator 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 ip地址接口_java获取ip地址与网络接口的方法示例相关推荐

  1. java ip地址查询接口_java获取ip地址与网络接口的方法示例

    java获取ip地址与网络接口的方法示例 发布时间:2020-09-20 23:57:52 来源:脚本之家 阅读:66 作者:骏马金龙 java.net包 大家应该都知道,网络相关对象在java.ne ...

  2. java 取随机整数_Java获取随机整数的两种方法

    方式一: 使用 Random 类 举例:获取 0~3 范围内(包括 0 和 3 )的 int 类型的随机数 Random random = new Random(); System.out.print ...

  3. java调用MySQL脚本_Java调用SQL脚本执行常用的方法示例

    前言 大家都知道,在Java中调用SQL脚本的方式有多种,在这里只记录一种自己常用的方式,个人觉得挺实用方便的. 运用ScriptRunner这个类. ScriptRunner类用于执行SQL语句,例 ...

  4. java去掉重复字符_Java实现去掉字符串重复字母的方法示例

    本文实例讲述了Java实现去掉字符串重复字母的方法.分享给大家供大家参考,具体如下: package demo; public class Ctrl { public static void main ...

  5. Java获取IP地址和VUE获取IP地址。

    java 获取 IP String ip = "";String address = "";try {// 获取IP地址ip = InetAddress.get ...

  6. 原创|批处理|批处理设定IP地址与自动获取IP之间的切换

    批处理设定IP地址与自动获取IP之间的切换 背景 在办公环境中,通常,内网的IP地址是指定的,随意更改会导致上不了网或者IP地址冲突:但是当我们将办公电脑带回家中时,通常是自动获取IP地址的.手动来回 ...

  7. express 获取ip地址,并获取ip对应的城市名

    1.安装 express-ip 中间件 npm install express-ip --save-dev yarn add express-ip --save-dev 2.app.js引入并注册 头 ...

  8. 通过淘宝接口免费获取IP地址信息

    1.获取互联网访问IP信息 一般获取互联网访问的IP的相关信息一般都是收费接口,免费的接口不多,我使用到一个接口如下: http://ip.taobao.com/service/getIpInfo.p ...

  9. java转换ip地址格式转换_Java编程IP地址和数字相互转换代码示例

    最近才知道,将ip地址转换成十进制.八进制.十六进制同样可以访问网站. IP转为数字(第二种算法.用左移.按位或实现.效率更高.): public long ipToLong(String ipAdd ...

最新文章

  1. Linux系统快速安装JDK
  2. OpenCV2.4.9 显示鼠标框选区域,其他部分全为零,鼠标创建ROI区域
  3. windows操作系统自带的TCP端口转发
  4. Kafka设计解析(六)- Kafka高性能关键技术解析
  5. 2020年应届生找工作难?Python爬虫解析疫情之下用人市场中的机遇与挑战
  6. Vue学习小案例--分页组件封装
  7. nfc 过滤 android,android-NFC意图过滤器= I / NfcDispatcher(923):连...
  8. python爬虫新浪新闻_学习了《python网络爬虫实战》第一个爬虫,爬取新浪新闻
  9. 给Eclipse安装MinGW
  10. DockOne微信分享(一四一):如何开发部署Kubernetes Native应用
  11. 国内外自动驾驶仿真软件总结
  12. 配置ouster雷达过程
  13. Redhat7.5安装谷歌浏览器
  14. java -verbose命令
  15. clip_gradient_norms()
  16. 结合《穹顶之下》看中、美宽带提速
  17. 轻松学编曲,论FL钢琴卷帘
  18. VLOOKUP函数的多条件引用
  19. 三星Android Pie软件,三星开始向欧洲Galaxy S9用户推送Android Pie稳定版更新包
  20. Linux中 vi、删除和退出 简单操作

热门文章

  1. 使用git log统计代码行数
  2. 使用超以太网来降低LED照明的成本
  3. DotAsterisk(点星PBX)IPPBX V4.1下载地址
  4. [解读REST] 1.REST的起源
  5. gremlin 语法
  6. java中 never closed_【Spring】在Java使用Spring时的Resource leak: 'applicationContext' is never closed警告...
  7. 协同开发冲突怎么解决?
  8. honeyselect身高补丁_honey select姿势mod最新补丁
  9. 威胁聚焦:Phobos勒索软件名不虚传
  10. Vue在线预览ppt,可嵌入组件显示也可新开页面显示