集册 Java实例教程 获取当前主机Ip地址

获取当前主机Ip地址

欢马劈雪     最近更新时间:2020-01-02 10:19:05

720
提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
获取当前主机Ip地址

/*******************************************************************************

 * Copyright (c) 2014 eBay Software Foundation.

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 *******************************************************************************/

//package com.nowjava;
/*
时代Java公众号 提供
*/

import java.net.InetAddress;

import java.net.NetworkInterface;

import java.net.SocketException;

import java.util.Enumeration;


public class Main {

    public static void main(String[] argv) throws Exception {

        System.out.println(getCurrentHostIpAddress());

    }


    public static String getCurrentHostIpAddress() {

        Enumeration<NetworkInterface> n;//时 代 J a v a 公 众 号 - nowjava.com 提供

        try {

            n = NetworkInterface.getNetworkInterfaces();

            for (; n.hasMoreElements();) {

                NetworkInterface e = n.nextElement();

                Enumeration<InetAddress> a = e.getInetAddresses();

                for (; a.hasMoreElements();) {

                    InetAddress addr = a.nextElement();


                    String ipAddress = addr.getHostAddress();

                    if (!ipAddress.equals("127.0.0.1")

                            && ipAddress.indexOf(":") == -1) {

                        return ipAddress;

                    }

                }

            }

            
展开阅读全文