java获取本机所有网卡的IP地址(ipv4)

阅读更多
/**
	 * 获取机器所有网卡的IP(ipv4)
	 * @return
	 */
	public static List getLocalIP() {
		List ipList = new ArrayList();
		InetAddress ip = null;
		try {
			Enumeration netInterfaces = (Enumeration) NetworkInterface.getNetworkInterfaces();
			while (netInterfaces.hasMoreElements()) {
				NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
				// 遍历所有ip
				Enumeration ips = ni.getInetAddresses();
				while (ips.hasMoreElements()) {
					ip = (InetAddress) ips.nextElement();
					if (null == ip || "".equals(ip)) {
						continue;
					}
					String sIP = ip.getHostAddress();
					if(sIP == null || sIP.indexOf(":") > -1) {
						continue;
					}
					ipList.add(sIP);
					System.out.println(sIP);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return ipList;
	}

 

你可能感兴趣的:(java,ip)