如何使用Java获得Linux机器的所有IP地址?
我的设备有两个IP地址,但是在尝试使用以下方法获取所有IP地址时,它将仅返回一个主IP地址。相同的代码在Windows上可以正常使用。
InetAddress myAddr = InetAddress.getLocalHost();
System.out.println("myaddr::::" + myAddr.getHostName());
InetAddress localAddress[] = InetAddress.getAllByName(myAddr.getHostName());
int len = localAddress.length;
for(int i = 0; i < len; i++)
{
String localaddress = localAddress[i].getHostAddress().trim();
System.out.println("localaddress::::" + localaddress);
}
最佳答案
相信您应该看一下Java的NetworkInterfaces类。
您将查询所有可用的接口,并枚举它们以获取分配给每个接口的详细信息(在您的情况下为IP地址)。
您可以找到示例和解释Here
希望这可以帮助