java如何获取本机IP

/ Java / 没有评论 / 2085浏览
import java.net.*;

public class Test6 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        InetAddress ia=null;
        try {
            ia=ia.getLocalHost();
            String localname=ia.getHostName();
            String localip=ia.getHostAddress();
            System.out.println("本机名称是:"+ localname);
            System.out.println("本机的ip是 :"+localip);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

获取所有IPv4的IP地址:

public static List<String> getLocalIPList() {
    List<String> ipList = new ArrayList<String>();
    try {
        Enumeration<NetworkInterface> networkInterfaces = 
            NetworkInterface.getNetworkInterfaces();
        NetworkInterface networkInterface;
        Enumeration<InetAddress> inetAddresses;
        InetAddress inetAddress;
        String ip;
        while (networkInterfaces.hasMoreElements()) {
            networkInterface = networkInterfaces.nextElement();
            inetAddresses = networkInterface.getInetAddresses();
            while (inetAddresses.hasMoreElements()) {
                inetAddress = inetAddresses.nextElement();
                if (inetAddress != null && inetAddress instanceof Inet4Address) { // IPV4
                ip = inetAddress.getHostAddress();
                ipList.add(ip);
            }
        }
        }
    } catch (SocketException e) {
    	e.printStackTrace();
    }
    return ipList;
}