/**
* 取当前系统站点本地地址 linux下 和 window下可用
*
* @return
*/
public static String getLocalIP() {
String sIP = "";
InetAddress ip = null;
try {
// 如果是Windows操作系统
if (isWindowsOS()) {
ip = InetAddress.getLocalHost();
}
// 如果是Linux操作系统
else {
boolean bFindIP = false;
Enumeration<NetworkInterface> netInterfaces = NetworkInterface
.getNetworkInterfaces();
while (netInterfaces.hasMoreElements()) {
if (bFindIP) {
break;
}
NetworkInterface ni = netInterfaces.nextElement();
// ----------特定情况,可以考虑用ni.getName判断
// 遍历所有ip
Enumeration<InetAddress> ips = ni.getInetAddresses();
while (ips.hasMoreElements()) {
ip = ips.nextElement();
if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() // 127.开头的都是lookback地址
&& ip.getHostAddress().indexOf(":") == -1) {
bFindIP = true;
break;
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (null != ip) {
sIP = ip.getHostAddress();
}
return sIP;
} public static boolean isWindowsOS() {
if ("//".equals(File.separator)) {
return true;
} else {
return false;
}
}

java 获取本机ip地址的更多相关文章

  1. java获取本机IP地址

    转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...

  2. 详谈再论JAVA获取本机IP地址

    首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...

  3. java获取本机ip地址(写出来的)

    /** * @author 豪弟 * @param request * @return * @throws IOException */ public final static String getI ...

  4. java获取本机IP地址和MAC地址的方法

    // 获取ip地址 public static String getIpAddress() { try { Enumeration<NetworkInterface> allNetInte ...

  5. java获取本机IP地址,非127.0.0.1

    综合了网上找的代码,整理的,Windows和Linux都可以用. private static String getHostIp(){ try{ Enumeration<NetworkInter ...

  6. java获取本机ip(排除虚拟机等一些ip)最终解,总算找到方法了

    本文参考https://blog.csdn.net/u011809209/article/details/77236602 本文参考https://blog.csdn.net/yinshuomail/ ...

  7. Java 实例 - 获取本机ip地址及主机名

    package guyu.day0824; import java.net.InetAddress; /** * @Author: Fred * @Date: 2020/8/24 09:39 */ p ...

  8. Java获取本机MAC地址[转]

    原文地址:https://www.cnblogs.com/hxsyl/p/3422191.html Java获取本机MAC地址   为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网 ...

  9. 获取本机IP地址

    这里有两种方法: //获取本机IP - (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; ) { ...

随机推荐

  1. Hibernate4.x之Session

    Hibernate Session概述 Session接口是Hibernate向应用程序提供的操纵数据库的最主要的接口,它提供了基本的保存.更新.删除和加载Java对象的方法. Session具有一个 ...

  2. memcached 学习笔记

    memcached是高性能的分布式内存缓存服务器.一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态应用的速度.提高可扩展性. Memcached基于一个存储键/值对的hashm ...

  3. PLSQL Develop 配置

    plsq 连接oracle数据库的配置步骤: 1.下载oracle客户端: 下载地址:http://www.oracle.com/technetwork/topics/winx64soft-08954 ...

  4. sonar之安装篇

    sonar 是一个很好的质量度量平台,安装方式有很多种.下面我教大家使用j2ee 容器的方式安装,我们使用tomcat 1.准备: 1.1 环境redhat linux1.2 下载sonar 从htt ...

  5. css定位方式

    CSS表达式 匹配元素说明 xpath * 匹配任何元素 //* div 标签 //div div#eleID by ID //div[@id='eleID']  div.class  by clas ...

  6. python学习之copy模块

    Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象.2. copy.deepc ...

  7. ACM2026

    /* 首字母变大写 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母.   Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句 ...

  8. Java网络编程(UDP协议:发送端)

    package WebProgramingDemo; import java.io.IOException; import java.net.DatagramPacket; import java.n ...

  9. Oracle-数据实现竖排打印

    --存放重证评分的数据表create table ZZPFapache2(  ZZ_datetime DATE,   --时间  ZZ_zongfen INTEGER, --总分  ZZ_shiwan ...

  10. windows程序员进阶系列:《软件调试》之堆 (一)

    windows程序员进阶系列:<软件调试>之堆 (一) 堆是软件在运行时动态申请内存空间的主要途径.从堆上申请来的空间需要程序员自己申请和释放,且申请和释放操作必须绝对匹配.忘记释放或者多 ...