在开发应用时,经常要获取网络的所有网卡的IP地址,这样可以选择绑定哪个网卡。
代码如下:
获取所有有效的网卡:
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
public static String[] getAllNetInterface() {
ArrayList<String> availableInterface = new ArrayList<>();
String [] interfaces = null;
try {
Enumeration nis = NetworkInterface.getNetworkInterfaces();
InetAddress ia = null;
while (nis.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) nis.nextElement();
Enumeration<InetAddress> ias = ni.getInetAddresses();
while (ias.hasMoreElements()) {
ia = ias.nextElement();
if (ia instanceof Inet6Address) {
continue;// skip ipv6
}
String ip = ia.