获取本机IP地址是Java编程中的一个常见需求。下面是一个完整的攻略,包含了两个示例说明。
步骤1:使用InetAddress类获取本机IP地址
Java提供了InetAddress类来获取本机的IP地址。以下是获取本机IP地址的示例代码:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetLocalIPAddress {
public static void main(String[] args) {
try {
InetAddress localhost = InetAddress.getLocalHost();
System.out.println(\"本机IP地址: \" + localhost.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们使用getLocalHost()
方法获取本机的InetAddress对象,然后使用getHostAddress()
方法获取IP地址,并将其打印出来。
步骤2:使用NetworkInterface类获取本机IP地址
除了使用InetAddress类,还可以使用NetworkInterface类来获取本机的IP地址。以下是另一个示例代码:
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
public class GetLocalIPAddress {
public static void main(String[] args) {
try {
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface networkInterface = interfaces.nextElement();
Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (!address.isLoopbackAddress() && address.getHostAddress().indexOf(':') == -1) {
System.out.println(\"本机IP地址: \" + address.getHostAddress());
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们使用getNetworkInterfaces()
方法获取所有的网络接口,然后遍历每个网络接口,使用getInetAddresses()
方法获取每个接口的InetAddress对象。我们通过判断IP地址不是回环地址(loopback address)且不包含冒号(IPv6地址)来确定本机的IP地址,并将其打印出来。
这两个示例代码可以帮助你获取本机的IP地址。你可以根据自己的需求选择其中一个方法来使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 获取本机IP地址的实例代码 - Python技术站