1、只是Windows系统使用的

InetAddress addr = InetAddress.getLocalHost();

String ip=addr.getHostAddress().toString;//获得本机IP

String  address=addr.getHostName().toString;//获得本机名称

2、windows和linux都可以使用的,且只获取IPV4,返回String类型

public class GetLocalHostAddr {

public String getLocalHostAddr(){

Enumeration allNetInterfaces;

Vector<String> ipAddr = new Vector<String>();

String ipLocalAddr = null;

InetAddress ip = null;

try {

allNetInterfaces = NetworkInterface.getNetworkInterfaces();

while (allNetInterfaces.hasMoreElements())    {

NetworkInterface netInterface = (NetworkInterface)

allNetInterfaces.nextElement();

System.out.println(netInterface.getName()+”====Name”);

Enumeration addresses = netInterface.getInetAddresses();

while (addresses.hasMoreElements())     {

ip = (InetAddress) addresses.nextElement();

ipAddr.add(ip.toString());

if (ip != null && ip instanceof Inet4Address) //IP是ipv4,ipv6换成Inet6Address

{

String hostAddress = ip.getHostAddress();

System.out.println("本机的IP =" + hostAddress);

System.out.println("hostAddress===="+hostAddress.equals("127.0.0.1"));

if(!hostAddress.equals("127.0.0.1")  && !hostAddress.equals("/127.0.0.1")){                    ipLocalAddr = ip.toString().split("[/]")[1];       //得到本地IP

}

System.out.println(ipLocalAddr+"===============ipLocalAddr");

}

}

}

} catch (SocketException e) {

e.printStackTrace();

}

return ipLocalAddr;

}

3、Windows上区分虚拟机和本机的IP

判断时加上netInterface.getName()==eth0   (本机IP)                             netInterface.getName()==eth1     (虚拟机IP)(一个虚拟机)

4、分辨系统(通过系统名字)

String osName = System.getProperty("os.name");   //获取系统名称

if(osName!=null&&osName.startsWith("Windows")){     //如果是Windows系统

//获取IP

}esle if(osName!=null&&osName.startsWith("Linux")){   //如果是Linux系统

//获取IP         }

转载于:https://blog.51cto.com/yuke198907/1295276

获取本机IP可区分系统可区分虚拟机和本机java程序跨平台相关推荐

  1. Mac系统下连接阿里云并运行java程序

    文章目录 Mac系统下连接阿里云并运行java程序 第一步:连接服务器并查看当前服务器中java的版本 第二步:自行安装jdk环境 第三步:安装上传的jdk,并配置环境变量 第四步:创建.java程序 ...

  2. java 获取当前ip_不停机还能替换代码?6年的 Java程序员表示不可思议

    ❝ 相信很多人都有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很.不过, 阿里巴巴出了一款名叫Ar ...

  3. Qt网路与通信(获取本机IP、MAC、IPV6子网掩码等网络信息)

    Qt网路与通信(获取本机网络信息) 在网络应用中,经常需要获取本机的主机名/IP地址和硬件地址信息等网络信息.运用QHostInfo.QNetworkInterface.QNetworkAddress ...

  4. 获取项目服务器ip,java获取服务器ip地址

    java获取服务器ip地址 内容精选 换一换 如果IP经过NAT/WAF,则只能获取到NAT/WAF转化后的IP地址,无法获取到NAT/WAF前的IP地址.如果客户端为容器,只能获取到容器所在主机的I ...

  5. localhost,127.0.0.1,本机IP

    一.简述 使用 localhost 或 127.0.0.1 或直接输入本机 IP,这三者都可以访问到本机,那为什么会存在这三种形式呢?它们之间又有啥区别呢? 1️⃣本机IP 电脑主板上都内置了多种网卡 ...

  6. Linux上使用telnet连接本机IP地址端口

    场景 Linux开启了iptables!!! 开启本机TCP80端口服务.Linux本机IP地址是192.168.204.129.本机telnet连接本机的TCP80端口. 目的 telnet 192 ...

  7. 学习JSP——在虚拟机中建立一个JSP网页,通过Tomcat服务器发布,并通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页

    1.介绍JSP (1)简介 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是 ...

  8. 系统无ifconfig,一条命令获取本机ip并将其赋值给指定变量来使用

    在Linux系统中,准确地获取本机IP信息是非常有用的.在写bash shell脚本事经常会用到IP,这时就需要我们使用一些办法获取本机IP并赋值给变量来使用.最近刚刚完成grep及sed的摸索.研究 ...

  9. java获取本机ip地址_代码片段:获取系统所有IP

    问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...

  10. java获取本机IP,系统随机分配端口号,获取当前线程ID

    ServerSocket serverSocket = null; //读取空闲的可用端口 String localIp = null; try {serverSocket = new ServerS ...

最新文章

  1. webpack 相关文章
  2. iOS开发-项目的完整重命名方法,图文教程。
  3. 周围剃光头顶留长发型_发型改变气质,这话放在石原里美身上也通用啊
  4. Tableau Desktop
  5. bootstrap怎么在移动端横向布局_移动端筛选中的「不限」到底该怎么用
  6. 算法竞赛入门 第2版 习题3-3 UVa1225
  7. MD5加密,Base64加密/解密,AES加密/解密
  8. 7.业务架构·应用架构·数据架构实战 --- 业务架构书
  9. 思科交换机(cisco)开启802.1x认证
  10. 用CSS制作细线表格
  11. C/C++编程:log4cpp使用学习
  12. Ubuntu下安装VSCODE并输入中文
  13. 机器学习(8): 逻辑回归算法 小结及实验
  14. 光驱位改装固态硬盘并装win 和linux双系统
  15. 浅析Trafodion体系结构
  16. 量子计算机原理以及量子算法
  17. oracle创建表空间及查看表空间和使用情况
  18. Ubuntu16.04 安装docker-ce [傻瓜教程]
  19. 【两化融合】新一代信息技术怎样与制造业深度融合?
  20. 这套设备管理方案助你效率10倍提升

热门文章

  1. Understanding Bootstrap Of Oracle Database
  2. ASP入门基础教程-VBScript概述及基本元素
  3. 开发日志:按照每月每天,每年每月,每月每周汇总数据
  4. 只不过窗口没有停留 一闪而过
  5. Adobe 全家桶关闭自动更新?技巧来啦!
  6. 克隆 Ubuntu 1804后续操作:修改用户名、主机名和组名
  7. POJ 1149 PIGS(最大流)dinic模板注释
  8. python 装饰器 二
  9. lucene5 排序
  10. 让Office无处不在——Office Web App初体验