import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; public final class StringUtil { public static void main(String[] args) { System.out.println("get local ip for windows: "); printList(getAllLocalHostIPForWin()); System.out.println(); System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); System.out.println(); System.out.println("get local ip for linux: "); printList(getAllLocalHostIPForLinux()); } /** * @return */ private static String getLocalHostName() { String hostName; try { InetAddress addr = InetAddress.getLocalHost(); hostName = addr.getHostName(); } catch (Exception ex) { hostName = ""; } return hostName; } /** * @return */ public static List<String> getAllLocalHostIPForWin() { List<String> ret = new ArrayList<String>(); try { String hostName = getLocalHostName(); if (hostName.length() > 0) { InetAddress[] addrs = InetAddress.getAllByName(hostName); if (addrs.length > 0) { for (int i = 0; i < addrs.length; i++) { ret.add(addrs[i].getHostName() + " -> " + addrs[i].getHostAddress()); } } } } catch (Exception ex) { ret = null; } return ret; } // 上面这个方法在linux平台上将只能获取 127.0.0.1 // 为了获取到linux上的IP地址,请使用下面的方法。 // 但下面的这个方法也可用于windows平台,但获取的信息比真实的网卡信息要多。请自行分辨。 /** * @return */ public static List<String> getAllLocalHostIPForLinux() { List<String> ret = new ArrayList<String>(); try { Enumeration<?> e1 = (Enumeration<?>) NetworkInterface.getNetworkInterfaces(); NetworkInterface ni = null; while (e1.hasMoreElements()) { ni = (NetworkInterface) e1.nextElement(); Enumeration<?> e2 = ni.getInetAddresses(); InetAddress ia = null; while (e2.hasMoreElements()) { ia = (InetAddress) e2.nextElement(); ret.add(ia.getHostName() + " -> " + ia.getHostAddress()); } } } catch (SocketException e) { e.printStackTrace(); } return ret; } /** * * @param list */ public static void printList(List<String> list) { for (String ele : list) { System.out.println(ele); } } }
我本地的运行结果截图如下:
相关推荐
在Java编程环境中,实现Linux与Windows之间的文件上传和下载是一项常见的任务,特别是在分布式系统和跨平台应用中。本文将深入探讨如何使用Java技术实现在Linux和Windows之间进行文件的互传,以及创建一个HTML界面来...
同时,它也包含了Linux平台上的JDK安装程序,尽管未明确指出具体格式,但通常Linux下的软件安装会是tar.gz或者rpm等格式。 【标签】"jdk1.8" 表明这些JDK版本是1.8,也被称为Java 8。这是一个非常重要的版本,因为...
在Java编程环境中,读取FTP(File Transfer Protocol)服务器上的文件是一项常见的任务,尤其是在Web服务器和Linux系统环境下。FTP提供了一种可靠的方式来传输文件,使得应用程序可以远程访问和操作存储在FTP服务器...
linux+windos mysql 制主从同步 mysql跨平台
FRP内网穿透软件 支持windos和linux 系统
运维人员经常需要在多平台上部署和管理Java环境,因此掌握在Windows和Linux上安装JDK的方法至关重要。在Windows上,安装过程相对直观,而Linux则更依赖于命令行操作和环境变量配置。此外,对于服务器环境,通常推荐...
在Linux服务器上,你可以用以下命令获取: ```bash ip addr show ``` 找到与网络接口相关的IP地址,如`inet`字段下的值。 ### 测试连接 在Windows中,打开“文件资源管理器”,在地址栏输入`\\<Linux_IP>`,然后按...
《ZooKeeper 3.4.9:在Windows与Linux上的部署与应用》 ZooKeeper,一个由Apache基金会开发的分布式协调服务,是许多大型分布式系统中的关键组件。3.4.9版本是ZooKeeper的一个稳定版本,提供了一系列增强功能和性能...
Java,作为一种跨平台、面向对象的编程语言,以其强大的可移植性和丰富的类库,成为了许多开发者的首选。本文将详细解析一个由Java编写的仿Windows记事本程序,它不仅具备了与原版记事本相似的基本功能,还增加了...
Java本身并不提供直接访问USB设备的API,但我们可以利用JNI来桥接Java和本地(C或C++)代码,从而调用系统级别的USB API。JNI允许Java代码调用原生方法,执行底层系统功能。 在描述中提到的"jnativetest"可能是包含...
许多知名的云计算服务提供商都采用Linux系统作为其基础架构,一些游戏平台和游戏开发工具采用Linux作为支持的操作系统,例如Steam平台上的某些游戏。Linux系统在科学计算、数据分析和机器学习等领域也有广泛应用。...
- 在获取到共享目录的访问权限后,我们可以使用Java的I/O流来读取和下载文件。这通常涉及`FileInputStream`(用于读取远程文件)和`FileOutputStream`(用于写入本地文件)。`SmbUtils.java`中的某个方法可能负责从...
tb-解析工具-本地windos系统; tb-解析工具-本地windos系统; tb-解析工具-本地windos系统
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台的总称,最初推出的时候提出 “Write Once, Run Anywhere” 的理想愿景。Java 是一门面向对象编程语言,不仅吸收了 C/C++ 语言...
- **配置Linux虚拟机网络**:首先,需要将Linux虚拟机的网络配置改为静态IP,确保它与Windows主机在同一子网内。这可以通过`Main Menu > System Setting > Network > Edit > Statically set IP addresses`来完成。 ...
这是个HTML文件,可通过IE浏览器打开并获取客户端IP地址和MAC地址(注意:只支持IE浏览器哦。。。)
在Java中,可以使用`File[] listFiles()`方法获取目录下的所有文件,然后通过`Arrays.sort()`排序,但默认是区分大小写的。若要实现不区分大小写的排序,需自定义比较器: ```java Arrays.sort(files, new ...
Linux下共享Windos文件 小白必备专用干货,实际操作案例分享,老司机手册。
linux和windos共享设置和oracle配置
定时器在计算机编程中是一种非常重要的工具,尤其在操作系统如Linux和Windows中,它们被广泛用于执行周期性任务或在特定时间点触发某些操作。定时器功能的实现依赖于操作系统提供的API(应用程序接口)和系统服务,...