java代码取linux本机IP
时间: 2024-09-13 22:04:38 浏览: 34
java获取linux服务器上的IP操作
在Java代码中获取Linux本机的IP地址,你可以使用`java.net.NetworkInterface`和`InetAddress`类提供的功能。下面是一个简单的示例:
```java
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Collections;
public class Main {
public static void main(String[] args) throws Exception {
// 获取网络接口列表
NetworkInterface[] interfaces = NetworkInterface.getNetworkInterfaces();
for (NetworkInterface interface : Collections.list(interfaces)) {
if (!interface.isUp() || interface.isLoopback()) {
continue; // 忽略不可用的接口和回环接口
}
try {
// 获取该接口的IP地址信息
InetAddress inetAddress = interface.getInetAddresses();
if (inetAddress != null && !inetAddress.isLinkLocalAddress() && !inetAddress.isLoopbackAddress()) { // 排除本地链接地址和回环地址
System.out.println("Interface Name: " + interface.getName());
System.out.println("IPv4 Address: " + inetAddress.getHostAddress());
break; // 找到第一个非回环非本地地址就停止
}
} catch (Exception e) {
continue;
}
}
}
}
```
这段代码会遍历网络接口,查找第一个可用的非回环和非本地地址并打印出来。如果需要同时获取IPv4和IPv6地址,可以将`getHostAddress()`替换为相应的获取方法。
阅读全文