java获取ip地址与网络接口的方法示例
Java 获取 IP 地址与网络接口的方法示例 Java 获取 IP 地址与网络接口的方法是在 Java 编程中获取计算机的 IP 地址和网络接口信息的方法。以下是通过 Java 获取 IP 地址和网络接口的方法示例。 获取主机对象 在 Java 中,获取主机对象可以使用 `InetAddress` 类,通过 `getLocalHost()` 方法可以获取本地主机对象,例如: ```java InetAddress host = InetAddress.getLocalHost(); ``` 也可以通过 `getByName()` 方法根据 IP 地址或主机名获取主机对象,例如: ```java InetAddress host = InetAddress.getByName("192.168.100.124"); InetAddress host = InetAddress.getByName("www.baidu.com"); ``` 获取主机对象的 IP 地址和主机名 通过 `getHostAddress()` 方法可以获取主机对象的 IP 地址,通过 `getHostName()` 方法可以获取主机对象的主机名,例如: ```java String ip = host.getHostAddress(); String hostName = host.getHostName(); ``` 获取本机所有接口 通过 `NetworkInterface` 类可以获取本机所有的网络接口,例如: ```java Enumeration<NetworkInterface> enu = NetworkInterface.getNetworkInterfaces(); while (enu.hasMoreElements()) { NetworkInterface inet = enu.nextElement(); String intName = inet.getName(); // ... } ``` 获取每个接口的 IP 地址 通过 `getInetAddresses()` 方法可以获取每个接口的所有 IP 地址,例如: ```java Enumeration<InetAddress> net_list = inet.getInetAddresses(); while (net_list.hasMoreElements()) { InetAddress net = net_list.nextElement(); String ip = net.getHostAddress(); // ... } ``` 示例代码 以下是一个完整的示例代码,用于获取本机所有的网络接口和每个接口的 IPv4 地址: ```java 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 (Exception e) { e.printStackTrace(); } } } ``` 这篇文章主要介绍了 Java 中获取 IP 地址和网络接口的相关方法和示例代码,对于学习 Java 编程和网络编程非常有参考价值。
- 粉丝: 5
- 资源: 907
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助