`

java获取IP地址(windos,linux)皆可

    博客分类:
  • java
阅读更多
package com.teamdev.jxbrowser.chromium.demo.getLocalIp;

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;

public class getServerIp {
/**
* 获取服务器ip地址
* */
public static String getServerIp() {
        // 获取操作系统类型
        String sysType = System.getProperties().getProperty("os.name");
        System.out.println(sysType);
        String ip;
        if (sysType.toLowerCase().startsWith("win")) {// 如果是Windows系统,获取本地IP地址
            String localIP = null;
            try {
                localIP = InetAddress.getLocalHost().getHostAddress();
            } catch (UnknownHostException e) {
            e.printStackTrace();
            }
            if (localIP != null) {
                return localIP;
            }
        } else {
            ip = getIpByEthNum("eth0"); //兼容Linux
            if (ip != null) {
                return ip;
            }
        }
        return "获取服务器IP错误";
    }
/**
     * 根据网络接口获取IP地址
     * @param ethNum 网络接口名,Linux下是eth0
     * @return
     */
    private static String getIpByEthNum(String ethNum) {
        try {
            Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
            InetAddress ip;
            while (allNetInterfaces.hasMoreElements()) {
                NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
                if (ethNum.equals(netInterface.getName())) {
                    Enumeration addresses = netInterface.getInetAddresses();
                    while (addresses.hasMoreElements()) {
                        ip = (InetAddress) addresses.nextElement();
                        if (ip != null) {
                            return ip.getHostAddress();
                        }
                    }
                }
            }
        } catch (SocketException e) {
            e.printStackTrace();
        }
        return "获取服务器IP错误";
    }
public static void main(String[] args) {
try {
System.out.println(getServerIp());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
评论

相关推荐

    Java版Linux文件上传下载、windows本地文件上传下载

    在Java编程环境中,实现Linux与Windows之间的文件上传和下载是一项常见的任务,特别是在分布式系统和跨平台应用中。本文将深入探讨如何使用Java技术实现在Linux和Windows之间进行文件的互传,以及创建一个HTML界面来...

    java 读取FTP服务器文件

    在Java编程环境中,读取FTP(File Transfer Protocol)服务器上的文件是一项常见的任务,尤其是在Web服务器和Linux系统环境下。FTP提供了一种可靠的方式来传输文件,使得应用程序可以远程访问和操作存储在FTP服务器...

    windos,linux下jdk可执行文件.rar

    【标题】"windos,linux下jdk可执行文件.rar" 提供了两个操作系统下的Java开发工具包(JDK)安装程序,适用于Windows和Linux环境。这个压缩包内包含的资源是用于在计算机上安装和配置Java开发环境的关键组件。 ...

    java写的仿windos的记事本

    Java,作为一种跨平台、面向对象的编程语言,以其强大的可移植性和丰富的类库,成为了许多开发者的首选。本文将详细解析一个由Java编写的仿Windows记事本程序,它不仅具备了与原版记事本相似的基本功能,还增加了...

    linux+windos mysql 制主从同步

    linux+windos mysql 制主从同步 mysql跨平台

    Samba实现Windos与linux文件共享.docx

    在Windows机器上访问Linux共享之前,你需要知道Linux服务器的IP地址。在Linux服务器上,你可以用以下命令获取: ```bash ip addr show ``` 找到与网络接口相关的IP地址,如`inet`字段下的值。 ### 测试连接 在...

    java文本转语音服务语音测试文本

    MaryTTS是一个高度可配置和可扩展的跨平台TTS系统,它不仅支持多种语言,还允许用户自定义发音特征,如音调、节奏和韵律。MaryTTS拥有丰富的音频处理和信号生成功能,可以生成高质量的语音输出。 Espeak是一个轻量...

    ZooKeeper3.4.9 windos和linux

    《ZooKeeper 3.4.9:在Windows与Linux上的部署与应用》 ZooKeeper,一个由Apache基金会开发的分布式协调服务,是许多大型分布式系统中的关键组件。3.4.9版本是ZooKeeper的一个稳定版本,提供了一系列增强功能和性能...

    windows下java访问hid设备

    在Windows环境下,使用Java语言来访问HID(Human Interface Device)设备是一项技术挑战,因为Java标准库并不直接支持这样的操作。然而,通过结合使用Java Native Interface(JNI)和其他第三方库,我们可以实现这一...

    jdk1.8,windos和linux在一起

    Java开发和运行环境是软件开发中的重要组成部分,尤其是在企业级应用和服务端开发中,Java的广泛应用使得理解如何在不同操作系统上安装配置Java开发工具包(JDK)变得至关重要。本资源包含两个版本的JDK,一个是针对...

    tiled map 通用(mac windos linux)

    tiled map 通用 苹果版本,非常好用。最新版本。

    FRP内网穿透软件 支持windos和linux 系统

    FRP内网穿透软件 支持windos和linux 系统

    文件按照window 的排序规则-Java实现

    在Java中,可以使用`File[] listFiles()`方法获取目录下的所有文件,然后通过`Arrays.sort()`排序,但默认是区分大小写的。若要实现不区分大小写的排序,需自定义比较器: ```java Arrays.sort(files, new ...

    linux和windos共享设置和oracle配置

    linux和windos共享设置和oracle配置

    Linux下共享windos文件

    Linux下共享Windos文件 小白必备专用干货,实际操作案例分享,老司机手册。

    定时器,linux Windos

    定时器在计算机编程中是一种非常重要的工具,尤其在操作系统如Linux和Windows中,它们被广泛用于执行周期性任务或在特定时间点触发某些操作。定时器功能的实现依赖于操作系统提供的API(应用程序接口)和系统服务,...

    详解Java使用Jsch与sftp服务器实现ssh免密登录

    Jsch(Java Secure Channel)是一个纯Java语言编写的库,它能够实现SSH(Secure Shell)功能。SSH是一种安全协议,它主要用于在不同的系统或服务器间建立安全的连接,并在传输数据的过程中对数据进行加密。在Java中...

    JS获取客户端IP MAC(只支持IE浏览器)

    这是个HTML文件,可通过IE浏览器打开并获取客户端IP地址和MAC地址(注意:只支持IE浏览器哦。。。)

    java-windos安装包-pc端

    Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java 可以编写桌面应用程序、Web 应用程序、分布式系统和嵌入式系统应用程序等 。用 Java 实现的 HotJava 浏览器...

    windos上java操作的东西hadoop2.9.0 win32 64

    在给定的压缩包中,"windos上java操作的东西hadoop2.9.0 win32 64.rar"可能包含了Hadoop的安装文件、配置示例、或者相关的教程资料。"新建文本文档.txt"可能是安装指南或者配置步骤的文本文件,详细阅读这些内容可以...

Global site tag (gtag.js) - Google Analytics