public class IpDetector {
public static String getIp() {
try {
Enumeration<NetworkInterface> em = NetworkInterface.getNetworkInterfaces();
for(;em.hasMoreElements();) {
NetworkInterface ni = em.nextElement();
String nicName = ni.getName();
if (nicName.startsWith("virbr")
|| nicName.startsWith("vboxnet")
|| nicName.startsWith("docker")
) {
continue;
}
Enumeration<InetAddress> emAddr = ni.getInetAddresses();
for(;emAddr.hasMoreElements();) {
InetAddress addr = emAddr.nextElement();
if (addr instanceof Inet4Address) {
String addrStr = addr.getHostAddress();
if (addrStr.startsWith("127.")) {
continue;
}
// System.out.println("Address is "+addr.getHostAddress());
return addrStr;
}
}
System.out.println();
}
} catch (SocketException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String ip = getIp();
System.out.println("IP is "+ip);
}
}
分享到:
相关推荐
为了在Windows平台上生成机器码,Java提供了一个工具,即Java Native Interface (JNI)。JNI允许Java代码调用C/C++库,同时也允许C/C++代码调用Java方法。通过JNI,我们可以编写特定于平台的本地方法,这些方法会被...
lo接口的作用是使得包可以从一个本地进程传输到另一个本地进程。 Java获取Linux服务器上的IP地址 在Java中,获取Linux服务器上的IP地址可以使用InetAddress类。InetAddress类提供了一个方法getLocalHost(),该...
在本文中,我们将深入探讨如何使用Java编程语言创建一个Swing界面应用,该应用能够修改本地计算机的IP地址。这个程序允许用户存储多个预设IP地址,并方便地在它们之间切换,同时也支持删除不需要的IP配置。我们将会...
Java 通过JNI(Java Native Interface)接口获取当前机器硬盘ID,即序列号,是一种混合编程技术,它允许Java代码调用本地系统库,如DLL(动态链接库)来执行特定的系统级任务,这些任务在Java标准库中可能无法直接...
MAC地址是硬件级别的唯一标识,它是一个48位的数字,通常以冒号或破折号分隔的12个16进制数表示,如`00:11:22:33:44:55`。以下将介绍两种不同的Java方法来获取MAC地址。 ### 方法一:基于IP地址获取MAC 这种方法...
在Java编程中,获取本地IP地址和主机名是一个常见的需求。本文将详细介绍基于Java实现获取本地IP地址和主机名的两种方式,并对每种方式进行了详细的解释和示例代码。 方式一:通过java.net.InetAddress类获取 通过...
- `InetAddress.getLocalHost()`:此方法用于获取与当前机器相关的第一个网络接口的IP地址。请注意,这并不总是返回多网卡环境中的第一个IP,而是根据操作系统和网络配置返回一个默认的IP。 - `InetAddress....
1. `IdUtils.simpleUUID()`:这通常会返回一个基于`java.util.UUID`生成的16进制字符串形式的UUID,长度为32个字符,用于生成字符串唯一ID。UUID是一种全球唯一的标识符,基于时间戳、随机数和MAC地址生成,但不适用...
2. **OpenCV**: OpenCV(开源计算机视觉库)是一个强大的计算机视觉和机器学习库,支持多种编程语言,包括Java。在本项目中,OpenCV被用来获取摄像头的实时视频流,捕获帧,并将其转换为图片。OpenCV还提供了一系列...
在Windows环境下,Java可以通过Java Native Interface (JNI) 来调用本地API,如Kernel32.dll中的函数,获取硬件信息,例如CPU型号、内存大小等。例如,可以使用WMI(Windows Management Instrumentation)接口来查询...
### 将Java应用程序本地编译为EXE的几种方法 在IT行业中,将Java应用程序转换为本地可执行文件(EXE)的需求时有...对于希望简化部署流程或提升应用性能的开发者而言,将Java应用本地编译为EXE是一个值得考虑的选择。
综上所述,通过JNI技术实现Java获取Linux硬盘序列号的流程包括编写Java接口,生成头文件,编写和编译C代码,生成共享对象文件,并最终将文件放置到指定目录。这个过程涉及到跨语言编程、操作系统底层调用和动态链接...
这是一个获取运行代码的计算机的IP地址和主机名的有效方式。如下所示: ```java import java.net.InetAddress; import java.net.UnknownHostException; public class Test01 { public static void main...
MAC地址是一个硬件地址,标识了网络设备在物理层的身份。本文将介绍两种在Java中获取MAC地址的方法。 首先,第一种方法是通过`InetAddress`和`NetworkInterface`类来获取本机的MAC地址。这种方法的步骤如下: 1. ...
"java使用OpenCV从视频文件...Java使用OpenCV从视频文件中获取帧是一个非常有用的技术,它可以应用于很多领域,例如视频监控、图像识别、视频编辑等。借助于Java和OpenCV,我们可以轻松地实现视频处理和图像处理任务。
在Java编程中,实现“Java获得本机IP自动上传ftp”的功能涉及到两个主要部分:获取本机IP地址和使用FTP(File Transfer Protocol)协议进行文件上传。以下将详细阐述这两个部分的知识点。 首先,让我们来看看如何...
以下是一个简单的Java代码示例,展示如何获取本地主机的所有网络接口及其对应的MAC地址: ```java import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; public ...
2. **OpenIMAJ**:OpenIMAJ是另一个流行的Java库,特别适用于计算机视觉和机器学习任务。它包含一个摄像头捕捉工具包,可以方便地读取USB摄像头的视频流,并进行图像处理操作。使用OpenIMAJ,开发者可以创建实时的...
windows下获取本地连接的mac Linux 获取eth0 的mac 类中有方法可以获取服务器的真实Ip地址,Linux的不是127.0.0.1
在Java编程中,获取当前服务器的IP地址是一个常见的需求,特别是在网络编程和服务器应用程序中。以下将详细讲解如何在Java中获取本地或服务器的IP地址。 首先,我们要明白`localhost`是一个特殊的IP地址,通常表示...