JAvaネイティブipの取得方法
1. inetAddressクラス
InetAddressのインスタンス・オブジェクトには、数値的に保存されたIPアドレスが含まれます.また、ホスト名(ホスト名を使用してInetAddressのインスタンスを取得したり、数値を使用して構築したりして、逆ホスト名解析機能が有効になっている場合)も含まれます.InetAddressクラスは、ホスト名をIPアドレス(またはその逆)に解析する方法を提供します.InetAddressオブジェクトを生成する方法
2.パッケージ方法
InetAddressのインスタンス・オブジェクトには、数値的に保存されたIPアドレスが含まれます.また、ホスト名(ホスト名を使用してInetAddressのインスタンスを取得したり、数値を使用して構築したりして、逆ホスト名解析機能が有効になっている場合)も含まれます.InetAddressクラスは、ホスト名をIPアドレス(またはその逆)に解析する方法を提供します.InetAddressオブジェクトを生成する方法
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Main {
public static void main(String[] args) throws UnknownHostException {
//Inet4Address address= (Inet4Address) Inet4Address.getLocalHost();
InetAddress address = InetAddress.getLocalHost();
System.out.println(address);// ip
String hostAddress = address.getHostAddress();
System.out.println(hostAddress);// ip
String hostName = address.getHostName();
System.out.println(hostName);//
}
}
2.パッケージ方法
public static String getLocalIp() {
Enumeration netInterfaces = null;
try {
netInterfaces = NetworkInterface.getNetworkInterfaces();
while (netInterfaces.hasMoreElements()) {
NetworkInterface nif = netInterfaces.nextElement();
Enumeration InetAddress = nif.getInetAddresses();
while (InetAddress.hasMoreElements()) {
String ip = InetAddress.nextElement().getHostAddress();
if (ip.startsWith("192.168")) {
return ip;
}
}
}
} catch (SocketException e) {
}
return "127.0.0.1";
}