`

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界面来...

    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`字段下的值。 ### 测试连接 在...

    ZooKeeper3.4.9 windos和linux

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

    jdk1.8,windos和linux在一起

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

    windows下java访问hid设备

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

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

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

    tiled map 通用(mac windos linux)

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

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

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

    linux和windos共享设置和oracle配置

    linux和windos共享设置和oracle配置

    Linux下共享windos文件

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

    定时器,linux Windos

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

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

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

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

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

    windos与虚拟机linux之间的文件交换方法

    - **配置Linux虚拟机网络**:首先,需要将Linux虚拟机的网络配置改为静态IP,确保它与Windows主机在同一子网内。这可以通过`Main Menu > System Setting > Network > Edit > Statically set IP addresses`来完成。 ...

    【JBOSS安装成windos服务的方法】JavaService-2.0.10.zip

    在JavaService-2.0.10.zip中,你可以找到这个可执行文件,它负责处理服务的安装、卸载以及调试。 2. **服务安装脚本**: - `InstallJBoss.bat`:这个批处理文件是用于将JBoss安装为Windows服务的。你需要根据你的...

    超详细!java访问windows共享目录并下载文件

    - 在获取到共享目录的访问权限后,我们可以使用Java的I/O流来读取和下载文件。这通常涉及`FileInputStream`(用于读取远程文件)和`FileOutputStream`(用于写入本地文件)。`SmbUtils.java`中的某个方法可能负责从...

    java 17下载,版本 17.0.5, windows各版本

    Java 17是Oracle公司发布的一个长期支持版(LTS),它在2021年9月14日正式推出,提供了许多新特性和性能优化。这个版本是Java开发的重要里程碑,因为它代表了Java语言和平台的持续进化。下面将详细介绍Java 17,特别...

Global site tag (gtag.js) - Google Analytics